/**
 * Iron Dome — Confirmation Gate
 *
 * 3-tier Destructive Action Confirmation Protocol (RED/AMBER/GREEN).
 * Gates destructive actions by classifying them into tiers that determine
 * whether explicit user confirmation, announcement, or silent execution is appropriate.
 */
import type { IronDomeConfig, IronDomeConfirmationProtocol, ConfirmationOverrides } from './config.js';
export type ConfirmationTier = 'red' | 'amber' | 'green';
export interface ConfirmationResult {
    tier: ConfirmationTier;
    action: string;
    description: string;
    reversible: boolean;
}
/**
 * Merge user overrides into a base confirmation protocol.
 *
 * Each overridden action is removed from its original tier and placed
 * into the user-specified tier. New actions (not in any default tier)
 * are simply added to the specified tier.
 */
export declare function mergeConfirmationProtocol(base: IronDomeConfirmationProtocol, overrides?: ConfirmationOverrides): IronDomeConfirmationProtocol;
/**
 * Classify an action into a confirmation tier based on the Iron Dome configuration.
 *
 * - RED: Destructive actions that ALWAYS require explicit user confirmation.
 * - AMBER: Actions that should be announced before proceeding.
 * - GREEN: Safe actions that can execute silently.
 * - Unknown actions default to AMBER (safe default).
 *
 * User overrides from `config.confirmationOverrides` are merged with profile
 * defaults, with user choices taking precedence.
 */
export declare function classifyAction(action: string, config: IronDomeConfig): ConfirmationResult;
/**
 * Returns true if the action requires explicit user confirmation (RED tier).
 */
export declare function requiresConfirmation(action: string, config: IronDomeConfig): boolean;
/**
 * Returns true if the action requires at least an announcement (RED or AMBER tier).
 */
export declare function requiresAnnouncement(action: string, config: IronDomeConfig): boolean;
