import { Guid } from '@cashfarm/lang'; export declare class InvalidIdentityValueException extends Error { constructor(value: string, identityTypeName: string); } export interface IIdentity { value: TId; } export declare abstract class Identity implements IIdentity { protected _value: TId; readonly value: TId; constructor(value?: TId); equals(other: Identity): boolean; toString(): string; valueOf(): TId; toJSON(): string; } export declare class GuidIdentity extends Identity { constructor(guid?: string | Guid); toString(): string; toJSON(): string; } export declare class IntIdentity extends Identity { constructor(value: number); } export declare class StringIdentity extends Identity { constructor(value: string); }