/**
 * Iron Dome — Behaviour Protection Layer
 *
 * Protects agent BEHAVIOUR (instruction gating, action approval, injection scanning)
 * while the existing defence layer protects agent MEMORY.
 *
 * Main exports for the Iron Dome module.
 */
import type { IronDomeConfig, IronDomeProfile, ConfirmationOverrides, IronDomeConfirmationProtocol } from './config.js';
import type { ConfirmationTier } from './confirmation-gate.js';
export { DEFAULT_IRON_DOME_CONFIG, IRON_DOME_PROFILES } from './config.js';
export type { IronDomeConfig, IronDomeProfile, IronDomePiiRules, IronDomeSubAgentRestrictions, IronDomeConfirmationProtocol, ConfirmationOverrides } from './config.js';
export { classifyAction, requiresConfirmation, requiresAnnouncement, mergeConfirmationProtocol } from './confirmation-gate.js';
export type { ConfirmationTier, ConfirmationResult } from './confirmation-gate.js';
export { scanForInjection, setExternalPatterns, getExternalPatternCount } from './injection-scanner.js';
export type { InjectionScanResult, InjectionDetection, InjectionSeverity, InjectionCategory } from './injection-scanner.js';
export { isChannelTrusted, validateGateway } from './gateway.js';
export type { GatewayResult } from './gateway.js';
export { isActionAllowed } from './action-gate.js';
export type { ActionGateResult, ActionDecision } from './action-gate.js';
export { checkPII } from './pii-guard.js';
export type { PiiCheckResult, PiiViolation } from './pii-guard.js';
export { handleKillPhrase } from './kill-switch.js';
export type { KillSwitchResult } from './kill-switch.js';
export { logIronDomeAudit } from './audit.js';
export type { IronDomeAuditEvent } from './audit.js';
/**
 * Activate Iron Dome with an optional profile.
 */
export declare function activateIronDome(profile?: IronDomeProfile): IronDomeConfig;
/**
 * Deactivate Iron Dome.
 */
export declare function deactivateIronDome(): void;
/**
 * Update editable Iron Dome configuration fields without resetting the full profile.
 */
export declare function updateIronDomeConfig(overrides: Partial<Pick<IronDomeConfig, 'killPhrase' | 'trustedChannels'>>): IronDomeConfig;
/**
 * Check input for the kill phrase and trigger emergency stop if detected.
 * Activates full kill switch lockdown — blocks ALL agent operations
 * (not just memory writes). Iron Dome stays active to keep protecting.
 */
export declare function checkKillPhrase(input: string): import('./kill-switch.js').KillSwitchResult;
/**
 * Get the current Iron Dome status and configuration.
 */
export declare function getIronDomeStatus(): {
    enabled: boolean;
    config: IronDomeConfig;
    profile?: IronDomeProfile;
    cloudPolicy?: boolean;
    externalPatterns?: number;
};
/**
 * Get the effective Iron Dome configuration, merging policy overrides.
 *
 * Priority: local enabled flag > local custom policy (if active) > cloud policy overrides > base profile defaults
 *
 * If a local custom policy is active (dashboard-managed, SQLite), it takes
 * precedence over cloud policies. Otherwise falls through to cloud policy
 * overrides, then built-in profile defaults.
 */
export declare function getEffectiveIronDomeConfig(): IronDomeConfig;
/**
 * Get the effective (merged) confirmation protocol — base + user overrides.
 */
export declare function getEffectiveConfirmationProtocol(): IronDomeConfirmationProtocol;
/**
 * Get just the user overrides (without the base protocol).
 */
export declare function getConfirmationOverrides(): ConfirmationOverrides;
/**
 * Move an action to a different confirmation tier.
 * Adds the action to user overrides so it takes precedence over profile defaults.
 */
export declare function moveConfirmationAction(action: string, tier: ConfirmationTier): void;
/**
 * Remove a user override for an action (reverts to profile default).
 * Returns true if the action was found in overrides, false if it wasn't overridden.
 */
export declare function removeConfirmationOverride(action: string): boolean;
