/**
 * SQLite CRUD for custom Iron Dome policies (Pro feature).
 */
export interface IronDomePolicy {
    id: number;
    name: string;
    description: string;
    config: string;
    is_active: number;
    created_at: string;
}
export declare function listIronDomePolicies(): IronDomePolicy[];
export declare function getIronDomePolicy(id: number): IronDomePolicy | undefined;
export declare function getActiveIronDomePolicy(): IronDomePolicy | undefined;
export declare function createIronDomePolicy(policy: {
    name: string;
    description?: string;
    config: Record<string, unknown>;
}): IronDomePolicy;
/**
 * Activate a policy. Deactivates any currently active policy in a transaction
 * to maintain the at-most-one invariant enforced by the partial unique index.
 */
export declare function activateIronDomePolicy(id: number): IronDomePolicy | undefined;
export declare function deleteIronDomePolicy(id: number): boolean;
export declare function updateIronDomePolicy(id: number, updates: Partial<{
    name: string;
    description: string;
    config: Record<string, unknown>;
}>): IronDomePolicy | undefined;
