export declare class Id { private readonly _value; private _isNew; /** * Create a new Id * @param value - Optional existing ID value. If not provided, generates a new UUID. * * @example * // New entity (generates UUID) * const newId = new Id(); * newuser.isNew() // true * * // Existing entity (uses provided ID) * const existingId = new Id("550e8400-e29b-41d4-a716-446655440000"); * existinguser.isNew() // false */ constructor(value: string, isNew?: boolean); constructor(value?: string); /** * Get the string value of the ID */ get value(): string; /** * Check if this ID represents a new entity */ isNew(): boolean; /** * Convert to string (for JSON serialization and comparisons) */ toString(): string; /** * Convert to JSON (returns the string value) */ toJSON(): string; /** * Check equality with another Id or string */ equals(other: Id | string): boolean; /** * Generate a UUID v4 */ private generateUUID; /** * Create a new Id (convenience static method) */ static create(): Id; /** * Mark the Id as not new */ markAsNotNew(): void; /** * Mark the Id as new */ markAsNew(): void; /** * Create an Id from an existing value */ static from(value: string): Id; /** * Compose two IDs into a single ID * @param a - The first ID * @param b - The second ID * @returns The composed ID */ static compose(a: string | Id, b: string | Id): string; } //# sourceMappingURL=id.d.ts.map