/**
 * DisableSupervisorUseCase
 *
 * Sets `enabled = false` on the {@link SupervisorPolicy} for the
 * (scopeType, scopeId?, featureId?) scope without touching any other
 * field. Idempotent — calling disable on an already-disabled policy
 * returns the unchanged row but still bumps `updatedAt` for audit
 * clarity.
 */
import type { ISupervisorPolicyRepository } from '../../ports/output/repositories/supervisor-policy-repository.interface.js';
import type { SupervisorPolicy } from '../../../domain/generated/output.js';
export interface DisableSupervisorInput {
    scopeType: string;
    scopeId?: string;
    featureId?: string;
}
export declare class DisableSupervisorUseCase {
    private readonly policyRepository;
    constructor(policyRepository: ISupervisorPolicyRepository);
    execute(input: DisableSupervisorInput): Promise<SupervisorPolicy>;
}
//# sourceMappingURL=disable-supervisor.use-case.d.ts.map