import type { ApprovalPolicy, ApprovalThreadRef, ApprovalToolRef } from './spi/approval-policy.js';
import type { Actor } from './types.js';
export type ClaimedActionApproval = {
    mode: 'auto';
} | {
    mode: 'remembered';
    approver: string;
} | {
    mode: 'ask';
    approver: string;
    ttlMs?: number;
    expiresAt?: string;
};
export interface ResolveActionProposalApprovalInput {
    actor: Actor;
    thread: ApprovalThreadRef;
    tool: ApprovalToolRef;
    store: {
        rememberedApprovals?(threadId: string): Promise<string[]>;
    };
    policy?: ApprovalPolicy;
    clock?: () => number;
}
/** Journal this result on the trusted producer before choosing strict proposal preparation. */
export declare function resolveActionProposalApproval(input: ResolveActionProposalApprovalInput): Promise<ClaimedActionApproval>;
//# sourceMappingURL=action-proposal-approval.d.ts.map