import type { ActionProposalOutcome, ActionProposalOutcomeLease } from './spi/action-proposal-outcome-store.js';
import type { ActionProposal, ActionProposalScope } from './spi/action-proposal-store.js';
import type { AgentUiComponent } from './stream-events.js';
export declare function attachActionProposalOutcome(row: ActionProposal, now: number, ui?: AgentUiComponent[], text?: string): ActionProposal;
export declare function claimActionProposalOutcome(row: ActionProposal, command: {
    workerId: string;
    leaseMs: number;
}, now: number, token: string): ActionProposal | null;
export declare function actionProposalOutcomeFenceValid(row: ActionProposal, command: ActionProposalOutcomeLease, now: number): boolean;
export declare function actionProposalOutcomeScope(outcome: ActionProposalOutcome): ActionProposalScope;
/**
 * The outcome message admitted to the thread. The tool's own presentation text (`present` /
 * `emitUi`), when it has one, leads — what a person reads in the history; the summary follows.
 */
export declare function actionProposalOutcomeText(outcome: ActionProposalOutcome): string;
//# sourceMappingURL=action-proposal-outcome.d.ts.map