/** * Represents an identity of something that is responsible for causing a state change. * An identity can be a user, a system, a service or anything else that can be identified. */ export declare class Identity { readonly subject: string; readonly name: string; readonly userName: string; readonly onBehalfOf?: Identity | undefined; /** * The identity used when not set. */ static readonly notSet: Identity; /** * The identity used when the identity is not known. */ static readonly unknown: Identity; /** * The identity used when the system is the cause. */ static readonly system: Identity; /** * Initializes a new instance of the {@link Identity} class. * @param subject - The identifier of the identity, referred to as subject. * @param name - Name of the identity. * @param userName - Optional username, defaults to empty string. * @param onBehalfOf - Optional behalf of {@link Identity}. */ constructor(subject: string, name: string, userName?: string, onBehalfOf?: Identity | undefined); /** * Returns a new {@link Identity} chain with duplicate subjects removed. * The first occurrence of each subject is kept. * @returns A new {@link Identity} with duplicates removed from the chain. */ withoutDuplicates(): Identity; } //# sourceMappingURL=Identity.d.ts.map