import { type ArtifactFormat, type InstallTarget, type RunpaneAgent, type RunpaneChannel, type RunpaneCommand } from './generated/contract'; export type { ArtifactFormat, InstallTarget, RunpaneAgent, RunpaneCommand }; export interface ParsedArgs { command: RunpaneCommand; helpTopic?: string; target: InstallTarget; paneVersion: string; updateScope?: 'both' | 'pane' | 'cli'; updateStatus?: string; updateWait?: boolean; channel: RunpaneChannel; format: ArtifactFormat; downloadDir?: string; panePath?: string; dryRun: boolean; yes: boolean; verbose: boolean; json: boolean; contextCommand?: string; paneDir?: string; repo?: string; paneId?: string; sessionId?: string; panelId?: string; repoPath?: string; folder?: string; resume?: string; name?: string; worktreeName?: string; branch?: string; baseBranch?: string; agent?: RunpaneAgent; toolCommand?: string; title?: string; url?: string; file?: string; placement?: 'split' | 'tab'; initialInput?: string; initialInputFile?: string; asFilePointer?: boolean; /** `--attach`, repeatable: files copied beside the prompt file. */ attachments?: string[]; interrupt?: boolean; panelInput?: string; panelInputFile?: string; fromJson?: string; timeoutMs?: number; waitReady?: boolean; readyTimeoutMs?: number; concurrency?: number; limit?: number; waitCondition?: string; contains?: string; intervalMs?: number; source?: string; noFocus?: boolean; focus?: boolean; pinned?: boolean; noPinned?: boolean; noAssociate?: boolean; composerStrategy?: string; force?: boolean; removeWorktree?: boolean; merged?: boolean; launch?: boolean; watchAs?: string; watchSince?: number; watchEpoch?: string; watchFrom?: 'now' | 'earliest'; watchKinds?: string[]; watchPaneIds?: string[]; watchExcludePaneIds?: string[]; nameContains?: string; follow?: boolean; /** Watch only: wait across daemon calls for the first matching event, print it, and exit 0. */ untilEvent?: boolean; agentsOnly?: boolean; ackNow?: boolean; includeHeldInput?: boolean; watchFormat?: 'lines' | 'json'; heartbeatSeconds?: number; idleAfterMs?: number; settleMs?: number; blockedSettleMs?: number; minIntervalMs?: number; idleBackoff?: boolean; /** Watch --follow only: exit after this long with no events but IDLE. */ expireAfterMs?: number; allManaged?: boolean; allStopped?: boolean; includeShells?: boolean; noHeldInput?: boolean; selfTest?: boolean; /** Watch only: drop the _ok, _heartbeat, and _reconnected control lines. */ quiet?: boolean; report?: boolean; bodyFile?: string; message?: string; query?: string; doc?: string; keys?: string[]; toolsets?: string[]; readOnly?: boolean; reportState?: ReportState; reportPr?: number; reportHead?: string; summary?: string; summaryFile?: string; question?: string; /** panels create|submit, panes create `--wait`: block until that panel reports, misses its report, is blocked, or exits. */ waitForResult?: boolean; /** `--timeout` with `--wait`: give up after this long (exit 124). */ waitTimeoutMs?: number; /** * panels create|submit, panes create: whether the sender waits for a `runpane report`. * Unset leaves it to the daemon, which expects one for work an agent sent. */ expectReport?: boolean; /** inbox ack: clear every item of the Session. */ all?: boolean; /** inbox ack: the item ids to clear. */ inboxIds?: string[]; lockTtlMs?: number; lockWaitMs?: number; note?: string; /** `runpane notify`: the question fields as given; JSON ones are parsed and checked when it runs. */ notifyUi?: string; notifyContext?: string; notifyChoices?: string; notifyDetail?: string; notifyDetailLabel?: string; notifySuggestions?: string; notifyAction?: string; /** loops: the loop id, its cron, and create's --paused. */ loopId?: string; cron?: string; paused?: boolean; /** `runpane workspace ...` */ workspaceMachine?: string; workspacePath?: string; execCommand?: string[]; cwd?: string; /** `runpane handoff ` */ handoffDestination?: string; handoffTemplate?: boolean; handoffNoteFile?: string; handoffMachine?: string; handoffModel?: string; handoffEffort?: string; handoffPush?: boolean; /** Start a fresh agent with the note instead of carrying the sender's own session. */ handoffNoteOnly?: boolean; remoteSetupArgs: string[]; } /** `runpane report --state`: what a worker says about its task. */ type ReportState = 'ready' | 'blocked' | 'failed' | 'done'; export declare function parseRunpaneArgs(argv: string[]): ParsedArgs; /** `runpane workspace ` for any command other than read, write, and exec. */ export declare function splitWorkspacePassThrough(argv: string[]): { machine: string; command: string[]; } | null; export declare function matchCommand(args: string[]): { name: RunpaneCommand; tokens: string[]; } | undefined; /** True when any cadence flag that needs a named daemon cursor was given. */ export declare function hasCadenceValueFlag(parsed: ParsedArgs): boolean; export declare function helpText(topic?: string): string; //# sourceMappingURL=commands.d.ts.map