import { Client } from "@appwrite.io/console"; interface DeploymentListResult { total: number; deployments: Array<{ $id: string; }>; } interface DeploymentDetails { $id: string; status: string; [key: string]: unknown; } interface DeploymentUpdateSubscription { close: () => Promise; } interface WatchDeploymentUpdatesParams { endpoint: string; event: string; onDeploymentUpdate: (deployment: DeploymentDetails) => void; onClose?: () => void; } interface DeploymentLogPrinter { ingest: (deployment: DeploymentDetails) => void; flush: () => void; complete: () => void; getLastLogs: () => string; hasPrintedLogs: () => boolean; } interface DeploymentLogPrinterOptions { heading?: string; label?: string; showPrefix?: boolean; isVisible?: () => boolean; } export declare function createDeploymentLogPrinter(options?: DeploymentLogPrinterOptions): DeploymentLogPrinter; export declare function watchDeploymentUpdates(params: WatchDeploymentUpdatesParams): Promise; /** * Resolve a file path (file or directory) into a File object for upload. * Directories are packaged into a tar.gz archive. */ export declare function resolveFileParam(filePath: string): Promise; /** * Download and extract deployment code for a resource */ export declare function downloadDeploymentCode(params: { resourceId: string; resourcePath: string; holdingVars: { key: string; value: string; }[]; withVariables?: boolean; listDeployments: () => Promise; getDownloadUrl: (deploymentId: string) => string; projectClient: Client; }): Promise; export interface PushDeploymentParams { resourcePath: string; createDeployment: (codeFile: File) => Promise; extraIgnoreRules?: string[]; getDeployment?: (deploymentId: string) => Promise; pollForStatus?: boolean; onStatusUpdate?: (status: string) => void; } export interface PushDeploymentResult { deployment: DeploymentDetails; wasPolled: boolean; finalStatus?: string; } /** * Push a deployment for a resource (function or site) * Handles packaging, creating the deployment, and optionally polling for status */ export declare function pushDeployment(params: PushDeploymentParams): Promise; export {}; //# sourceMappingURL=deployment.d.ts.map