/// import type { GlobbyFilterFunction } from 'globby'; import * as fs from 'node:fs'; import { App, AppConfig, ConfigType, FrontendProjectType } from './lib/apps/index.js'; import { RemoteAppCommand } from './remote-app-command.js'; type WatchFileEvent = 'change' | 'deleted' | 'new'; interface WatchingChange { action: 'push' | 'remove'; appConfig: AppConfig; configFile: string; } export declare abstract class PushAppCommand extends RemoteAppCommand { frontendPath: string; hasLoggedLocalPreviewUrl: boolean; logWatchChanges: boolean; onWatchChange?: (appConfig?: AppConfig, action?: string, result?: any) => void; watchingChangeQueue: Map; watchingFiles: Set; watchingIgnoreFilter: GlobbyFilterFunction | null; watchingTimer: NodeJS.Timeout | null; watchListener: (eventType: fs.WatchEventType, filename: null | string) => Promise; protected showFrontendMigrationError(): never; buildFrontend(projectType?: FrontendProjectType): Promise; chooseAppToPull(query?: any): Promise; createAppStorefront(hasOtherStorefronts?: boolean, nonInteractive?: boolean): Promise; deployAppFrontend(force?: boolean, log?: boolean): Promise; deployFrontend(projectType: FrontendProjectType): Promise; ensureAppExists(file?: string, shouldCreate?: boolean): Promise; ensureLoggedIn(): Promise; exec(command: string, cwd?: string, onOutput?: (string: string) => any | false): Promise; execFrontend(command: string, onOutput?: (string: string) => any | false): Promise; getAllAppStorefronts(params?: { type?: string; }): Promise; getAllStorefronts(params?: { app_id?: string; theme_app_id?: string; type?: string; }): Promise; getAppStorefront(params?: { storefront_id?: string; type?: string; }): Promise; getAppToPull(args: { appId?: string; targetPath?: string; }, shouldChoose?: boolean): Promise; getExistingApp(appId: string): Promise; getFrontendDeploymentHash(): string | undefined; getFrontendProjectType(required?: boolean): FrontendProjectType | null; getStorefrontToPull(args?: { appId?: string; targetPath?: string; }, flags?: { env?: string; 'storefront-id'?: string; 'storefront-select'?: boolean; }): Promise; getStorefrontToPush(flags?: { env?: string; 'storefront-id'?: string; 'storefront-select'?: boolean; yes?: boolean; }): Promise; setStorefrontEnv(flags: { env?: string; 'storefront-id'?: string; 'storefront-select'?: boolean; }, defaultStorefront?: any): Promise; handleWatchFileChange(configFile: string, configType: ConfigType, event: WatchFileEvent): Promise; logAppFrontendUrl(): void; logDashboardUrl(flags: { [flag: string]: any; }): void; logStorefrontConnected(): void; logStorefrontFrontendUrl(storefront?: any, branchId?: string): void; pushFile(relativePath: string): Promise; pushFilePath(relativePath: string, force?: boolean): Promise; resolveAppPath(appId?: string, targetPath?: string): string; runWatchChangeQueue(): Promise; saveCurrentStorefront(): void; logLocalPreviewUrl(): void; setWatchingFiles(): Promise; startProxyServer(port?: number): Promise; updateFrontendDeployment(currentStore: string, projectType: FrontendProjectType, deploymentUrl: string, deploymentHash: string): Promise; updateLocalProxy(proxyUrl: string | null, storefrontId?: string): Promise; watchForChanges({ logChanges, onChange, syncAll, }?: { logChanges?: boolean; onChange?: (appConfig?: AppConfig, result?: any) => void; syncAll?: boolean; }): Promise; wranglerDeployFrontend(_projectType: FrontendProjectType): Promise; private confirmRemoveInstalledApp; } export {};