import { Command } from "commander"; import { type SettingsType, type ConfigType, type CollectionType } from "./config.js"; import { Client } from "@appwrite.io/console"; interface FailedDeployment { name: string; $id: string; deployment: string; reason?: "failed" | "timeout"; consoleUrl?: string; } export interface PushOptions { all?: boolean; settings?: boolean; functions?: boolean; sites?: boolean; collections?: boolean; tables?: boolean; buckets?: boolean; teams?: boolean; webhooks?: boolean; topics?: boolean; skipDeprecated?: boolean; skipConfirmation?: boolean; force?: boolean; functionOptions?: { async?: boolean; code?: boolean; activate?: boolean; withVariables?: boolean; logs?: boolean; }; siteOptions?: { async?: boolean; code?: boolean; activate?: boolean; withVariables?: boolean; logs?: boolean; }; tableOptions?: { attempts?: number; }; } interface PushTableOptions { attempts?: number; skipConfirmation?: boolean; } interface PushCollectionInput extends CollectionType { databaseName?: string; } export declare class Push { private projectClient; private consoleClient; private silent; constructor(projectClient: Client, consoleClient: Client, silent?: boolean); /** * Log a message (respects silent mode) */ private log; /** * Log a success message (respects silent mode) */ private success; /** * Log a warning message (respects silent mode) */ private warn; /** * Log an error message (respects silent mode) */ private error; pushResources(config: ConfigType, options?: PushOptions): Promise<{ results: Record; errors: any[]; }>; pushSettings(config: { projectId: string; projectName?: string; settings?: SettingsType; }): Promise; pushBuckets(buckets: any[]): Promise<{ successfullyPushed: number; errors: any[]; }>; pushTeams(teams: any[]): Promise<{ successfullyPushed: number; errors: any[]; }>; pushWebhooks(webhooks: any[]): Promise<{ successfullyPushed: number; errors: any[]; }>; pushMessagingTopics(topics: any[]): Promise<{ successfullyPushed: number; errors: any[]; }>; pushFunctions(functions: any[], options?: { async?: boolean; code?: boolean; activate?: boolean; withVariables?: boolean; logs?: boolean; }): Promise<{ successfullyPushed: number; successfullyDeployed: number; failedDeployments: FailedDeployment[]; errors: any[]; }>; pushSites(sites: any[], options?: { async?: boolean; code?: boolean; activate?: boolean; withVariables?: boolean; logs?: boolean; }): Promise<{ successfullyPushed: number; successfullyDeployed: number; failedDeployments: FailedDeployment[]; errors: any[]; }>; pushTables(tables: any[], options?: PushTableOptions): Promise<{ successfullyPushed: number; errors: any[]; }>; pushCollections(collections: PushCollectionInput[], options?: { skipConfirmation?: boolean; }): Promise<{ successfullyPushed: number; errors: Error[]; }>; } export declare const push: Command; export declare const deploy: Command; export {}; //# sourceMappingURL=push.d.ts.map