/** * pop vote announce — announce a proposal winner (hybrid or dd). * * DESTRUCTIVE: announcing is irreversible and executes the winning option's * calls through the Executor. The confirm policy requires an explicit --yes * in non-interactive sessions. * * Safety layers, in order: * 1. callStatic.announceWinner probe (kept from the original; --force * proceeds despite a failing probe, --no-preflight skips it) * 2. receipt log scan — the Executor catches failed sub-calls and emits * CallFailed/ProposalExecutionFailed while the OUTER tx succeeds, so * "tx mined" alone is not success * * --proposal accepts a numeric ID or a fuzzy title query. */ import type { Argv, ArgumentsCamelCase } from 'yargs'; interface AnnounceArgs { org: string; type: string; proposal: string; force?: boolean; chain?: number; rpc?: string; 'private-key'?: string; 'dry-run'?: boolean; yes?: boolean; preflight?: boolean; 'idempotency-key'?: string; 'no-idempotency'?: boolean; } export declare const announceHandler: { builder: (yargs: Argv) => Argv<{ type: string; } & { proposal: string; } & { force: boolean; } & { "idempotency-key": string | undefined; } & { "no-idempotency": boolean; }>; handler: (argv: ArgumentsCamelCase) => Promise; }; export {};