/**
 * In-Memory SupervisorPolicy Repository
 *
 * Test-friendly adapter for {@link ISupervisorPolicyRepository}. Enforces
 * the unique-(scopeType, scopeId, featureId) constraint and the
 * feature-then-scope fallback documented in research decision 7.
 */
import type { ISupervisorPolicyRepository } from '../../../application/ports/output/repositories/supervisor-policy-repository.interface.js';
import type { SupervisorPolicy } from '../../../domain/generated/output.js';
export declare class InMemorySupervisorPolicyRepository implements ISupervisorPolicyRepository {
    private readonly policies;
    create(policy: SupervisorPolicy): Promise<void>;
    update(policy: SupervisorPolicy): Promise<void>;
    delete(id: string): Promise<void>;
    findById(id: string): Promise<SupervisorPolicy | null>;
    findByScope(scopeType: string, scopeId?: string): Promise<SupervisorPolicy | null>;
    findByScopeAndFeature(scopeType: string, scopeId: string | undefined, featureId: string): Promise<SupervisorPolicy | null>;
    findPolicyForScope(scopeType: string, scopeId: string | undefined, featureId: string | undefined): Promise<SupervisorPolicy | null>;
    listByScope(scopeType: string, scopeId?: string): Promise<SupervisorPolicy[]>;
    listAll(): Promise<SupervisorPolicy[]>;
}
//# sourceMappingURL=in-memory-supervisor-policy-repository.d.ts.map