import type { Command } from 'commander'; import type { Config } from '../types/index.js'; /** * Upload command - Upload a plan to the target branch using a temporary worktree. * * Flow: * 1. Determine which plan file to upload (latest or user-specified) * 2. Read plan file content into memory * 3. Create a temporary worktree from origin/main * 4. Copy plan file into the worktree at the same relative path * 5. Stage + auto-commit the plan file in the worktree * 6. Push from the worktree * 7. Remove the worktree * 8. Plan file remains untouched in the main working tree */ export declare function uploadCommand(program: Command, config: Config): void; /** * `hula upload --branch ` — the plan-branch flow's plan-time step. * * Ensures the feature branch for `issueName` exists on origin and carries the * plan file, creating the branch from the base branch when needed. Run by the * /hula-plan skill right after the plan file is written, so downstream * consumers (Vercel branch-scoped env vars, beforeLaunch hooks) can rely on * the git branch existing well before the launch. */ export declare function executeUploadToBranch(config: Config, issueName: string, planPath?: string, repoRoot?: string): Promise; /** * Execute upload command. * * @param config - Loaded config (its `planPath` locates plan files). * @param planPath - Optional explicit plan path (else newest is chosen). * @param repoRoot - Optional repository root. When supplied (multi-repo * `--folder` fan-out) every git operation and the on-disk plan read run * against this directory instead of the process working directory. Undefined * preserves the historical single-repo behavior. */ export declare function executeUpload(config: Config, planPath?: string, repoRoot?: string): Promise; //# sourceMappingURL=upload.d.ts.map