import { type OpsDeps } from '../ops.js'; export interface RoleRemovalPreview { role: string; configured: boolean; lifetime: 'permanent' | 'temporary' | 'orphan'; effects: string[]; confirmation: 'typed-role-name' | 'confirm'; coordinatorProtection: boolean; selfProtected: boolean; recovery: { available: boolean; detail: string; }; } export declare class RoleRemovalService { private readonly options; constructor(options: { configPath?: string; ops: OpsDeps; currentControlRole?: string; }); removeDirect(input: { actor: { kind: 'local_control'; surface: 'cli'; }; role: string; }): Promise; previewWeb(requested: string): RoleRemovalPreview; removeWeb(input: { role: string; confirmation?: string; confirmed?: boolean; coordinatorAcknowledged?: boolean; }): Promise; /** @deprecated Internal compatibility aliases; surface adapters use explicit policies above. */ preview(requested: string): RoleRemovalPreview; /** @deprecated Internal compatibility aliases; surface adapters use explicit policies above. */ remove(input: { role: string; confirmation?: string; confirmed?: boolean; coordinatorAcknowledged?: boolean; }): Promise; }