import type { ClassifiedAction } from './risk.js';
import type { TraceProposal } from '../trace/trace.js';
/**
 * A held action becomes a preview. In Cursor or Claude this is displayed,
 * not enforced — Stage 5 blocks execution on a page we own.
 */
export type HeldProposal = TraceProposal & {
    id: string;
};
export type ProposalSession = {
    proposals: HeldProposal[];
};
export declare function openProposalSession(): ProposalSession;
/** High-risk actions return a preview. Low-risk actions return null and are not held. */
export declare function holdAction(session: ProposalSession, action: ClassifiedAction): HeldProposal | null;
