/** * pop vote create — create a hybrid or direct-democracy proposal. * * Governance safety: when --calls attaches an execution batch to option 0, * the interactive confirm summary DECODES each call — the target address is * resolved to its org-module name (TaskManager, Executor, …) and the calldata * selector to a function signature via the known ABIs — so a human approves * "TaskManager → setConfig(uint8,bytes)" rather than an opaque hex blob. * Undecodable calls are labeled UNDECODABLE, never hidden. * * Hat IDs are uint256 with high bits set — parseInt loses precision above * 2^53, so each entry is parsed as a BigNumber from the raw string. */ import type { Argv, ArgumentsCamelCase } from 'yargs'; interface CreateArgs { org: string; type: string; name: string; description: string; duration: number; options: string; 'hat-ids'?: string; 'subject-ids'?: string; 'quorum-override'?: number; 'equal-weight'?: boolean; calls?: string; chain?: number; rpc?: string; 'private-key'?: string; 'dry-run'?: boolean; yes?: boolean; preflight?: boolean; 'idempotency-key'?: string; 'no-idempotency'?: boolean; } export declare const createHandler: { builder: (yargs: Argv) => Argv<{ type: string; } & { name: string; } & { description: string; } & { duration: number; } & { options: string; } & { "subject-ids": string | undefined; } & { "hat-ids": string | undefined; } & { "quorum-override": number | undefined; } & { "equal-weight": boolean | undefined; } & { calls: string | undefined; } & { "idempotency-key": string | undefined; } & { "no-idempotency": boolean; }>; handler: (argv: ArgumentsCamelCase) => Promise; }; export {};