import type { UtilsController } from "../../utilsController.js"; /** Per-field CLI overrides — only applied when targeting a single function. */ export interface DeployFunctionFieldOverrides { path?: string; name?: string; runtime?: string; entrypoint?: string; commands?: string; schedule?: string; timeout?: number; scopes?: string; events?: string; execute?: string; enabled?: boolean; logging?: boolean; buildSpecification?: string; runtimeSpecification?: string; predeployCommands?: string; deployDir?: string; ignore?: string; /** Comma-separated domains for --functionDomains. Reconciled after deploy. */ domains?: string; /** * When true (from --prebuilt), run the function's `commands` locally and * ship the resulting build artifacts inside the tarball; Appwrite is told * to skip its build step. Single-function only. */ prebuilt?: boolean; } export interface DeployFunctionsFlowOptions { cwd: string; configPath?: string; controller?: UtilsController; /** From --functionIds (comma-separated $ids or names). */ functionIds?: string; /** From --functionId (singular, the existing flag). */ singleFunctionId?: string; /** From --buildConcurrency. */ buildConcurrency?: number; /** From --endpoint/--projectId/--apiKey/--sessionCookie on argv. */ argvCredentials?: { endpoint?: string; projectId?: string; apiKey?: string; sessionCookie?: string; }; /** Per-field overrides; only valid when exactly one function is targeted. */ overrides?: DeployFunctionFieldOverrides; /** When true, proxy rules attached to a function but absent from its * declared `domains` list are deleted after deploy. Default: false. */ pruneDomains?: boolean; } /** * Headless function deploy entry point. Returns the number of failures so the * caller can set a non-zero exit code. */ export declare function runDeployFunctionsFlow(opts: DeployFunctionsFlowOptions): Promise;