/**
 * SupervisorActor Value Object
 *
 * Encodes actor namespaces used to attribute approval-gate / question
 * decisions:
 * - `user:<id>`        — the human user
 * - `supervisor:<id>`  — a delegated supervisor agent
 *
 * The "user always wins" invariant from spec 093 is modelled here:
 * `isUserOverrideOf(prior)` returns true exactly when `self` is a user
 * actor and `prior` is a supervisor actor (any pair of ids), expressing
 * that a subsequent user action overrides a prior supervisor action on
 * the same gate / question.
 */
export declare const SUPERVISOR_ACTOR_NAMESPACE_USER = "user";
export declare const SUPERVISOR_ACTOR_NAMESPACE_SUPERVISOR = "supervisor";
declare const VALID_NAMESPACES: readonly ["user", "supervisor"];
export type SupervisorActorNamespace = (typeof VALID_NAMESPACES)[number];
export declare class InvalidSupervisorActorError extends Error {
    constructor(value: string);
}
export interface SupervisorActor {
    readonly namespace: SupervisorActorNamespace;
    readonly id: string;
    readonly value: string;
    toString(): string;
    equals(other: SupervisorActor): boolean;
    isUserOverrideOf(prior: SupervisorActor): boolean;
}
/**
 * Parses an actor string of the form `<namespace>:<id>`.
 * Throws {@link InvalidSupervisorActorError} on malformed input.
 */
export declare function parseSupervisorActor(value: string): SupervisorActor;
export declare function userActor(id: string): SupervisorActor;
export declare function supervisorActor(id: string): SupervisorActor;
export {};
//# sourceMappingURL=supervisor-actor.d.ts.map