// Branded types for type safety
export type TenantId = string & { readonly brand: unique symbol };
export type UserId = string & { readonly brand: unique symbol };
export type NoteId = string & { readonly brand: unique symbol };
export type ClasseId = string & { readonly brand: unique symbol };
export type EleveId = string & { readonly brand: unique symbol };

// Helper functions for branded types
export function createTenantId(id: string): TenantId {
	return id as TenantId;
}

export function createUserId(id: string): UserId {
	return id as UserId;
}

export function createNoteId(id: string): NoteId {
	return id as NoteId;
}

export function createClasseId(id: string): ClasseId {
	return id as ClasseId;
}

export function createEleveId(id: string): EleveId {
	return id as EleveId;
}
