/** * pop treasury propose-finalize — governance proposal to close a distribution. * * Wraps PaymentManager.finalizeDistribution(distributionId, minClaimPeriodBlocks) * in a HybridVoting proposal whose option-0 batch targets the PaymentManager. * * Gates — VERIFIED against contracts origin/main src/PaymentManager.sol: * - finalizeDistribution is onlyOwner, and the owner is the Executor * (initialize doc: "typically the Executor") — hence the governance wrap. * - Reverts DistributionNotFound (totalAmount == 0), AlreadyFinalized, and * ClaimPeriodNotExpired when block.number < creationBlock + minClaimPeriodBlocks * (anchored on checkpointBlock — the DEPLOYED contract's anchor, proven by live eth_call. * Audit M-08 proposes re-anchoring on the creation block, but that contract is not * deployed; see the inline note at the guard). * - On success the unclaimed remainder (totalAmount - totalClaimed) is * returned to the owner (Executor treasury) and further claims are blocked. * * minClaimPeriodBlocks is measured from the distribution's CHECKPOINT block, * not from proposal execution — with the default 0 the only claim window is * the vote duration itself. */ import type { Argv, ArgumentsCamelCase } from 'yargs'; interface ProposeFinalizeArgs { org: string; distribution: number; 'min-claim-blocks'?: number; duration: number; chain?: number; rpc?: string; 'private-key'?: string; 'dry-run'?: boolean; yes?: boolean; preflight?: boolean; } export declare const proposeFinalizeHandler: { builder: (yargs: Argv) => Argv<{ distribution: number; } & { "min-claim-blocks": number; } & { duration: number; }>; handler: (argv: ArgumentsCamelCase) => Promise; }; export {};