import type { IdentityBinding, IdentitySubject, Person } from './types.js'; import type { DurableStateAdapter } from '../durable/file-journal.js'; import type { ScopedIdempotency } from '../durable/types.js'; export type IdentityResolution = { status: 'verified'; personId: string; binding: IdentityBinding; } | { status: 'revoked'; personId: string; binding: IdentityBinding; } | { status: 'unknown'; }; export declare class MemoryIdentityStore { #private; addPerson(person: Person): void; addBinding(binding: IdentityBinding): void; resolve(subject: IdentitySubject): IdentityResolution; revoke(subject: IdentitySubject, revokedAt: string): void; } export declare class DurableIdentityStore { #private; readonly adapter: DurableStateAdapter; constructor(adapter: DurableStateAdapter); seed(people: readonly Person[], bindings: readonly IdentityBinding[], idempotency: ScopedIdempotency, occurredAt: string): Promise<'committed' | 'duplicate' | 'conflict'>; resolve(subject: IdentitySubject): Promise; resolveSync(subject: IdentitySubject): IdentityResolution; revoke(subject: IdentitySubject, revokedAt: string, idempotency: ScopedIdempotency): Promise<'committed' | 'duplicate' | 'conflict'>; }