/**
 * Recorder helpers for ProposedToolCall lifecycle. Pure types live in
 * src/native/protocol/task-permission-types.ts; this file owns the
 * mutation API consumed by the conversation dispatch loop.
 */
import type { ProposedToolCall, RiskClass, GrantEvent, PostGrantEvidence, DerivedLifecycle } from './protocol/task-permission-types.js';
export interface RecordProposalArgs {
    tool: string;
    riskClass: RiskClass;
    iteration: number;
    toolUseId?: string;
}
export declare function recordProposal(list: ProposedToolCall[], args: RecordProposalArgs): ProposedToolCall;
export declare function recordPermissionRequested(tc: ProposedToolCall): void;
export interface PermissionGrantArgs {
    mode: GrantEvent['mode'];
    iteration: number;
}
export declare function recordPermissionGranted(tc: ProposedToolCall, args: PermissionGrantArgs): void;
export declare function recordPermissionDenied(tc: ProposedToolCall): void;
export declare function recordExecutionStart(tc: ProposedToolCall, iteration: number): void;
export declare function recordSettlement(tc: ProposedToolCall, iteration: number): void;
export interface PostGrantEvidenceArgs {
    kind: PostGrantEvidence['kind'];
    detail: string;
}
export declare function recordPostGrantEvidence(tc: ProposedToolCall, args: PostGrantEvidenceArgs): void;
export declare function derivedLifecycle(tc: ProposedToolCall): DerivedLifecycle;
