export type DeploymentTarget = "compose" | "external" | "kubernetes"; type CliInstallationMethod = "npm" | "standalone"; export interface InstanceConfig { target: DeploymentTarget; url: string; clientUrl?: string; composeFile?: string; composeFiles?: string[]; composeProfiles?: string[]; envFile?: string; projectName?: string; projectDirectory?: string; context?: string; namespace?: string; workloads?: Record; readOnly?: boolean; } export interface CliConfig { defaultInstance?: string; instances: Record; } export interface CommandContext { cwd: string; env: NodeJS.ProcessEnv; installationMethod?: CliInstallationMethod; interactive?: boolean; prompt?: (question: string) => Promise; stdout: Pick; stderr: Pick; fetch: typeof fetch; } export interface DriverCommandOptions { instanceName: string; instance: InstanceConfig; args: string[]; flags: Record; context: CommandContext; } export type CheckStatus = "pass" | "warn" | "fail"; export interface DoctorCheck { name: string; status: CheckStatus; message: string; } export interface DeploymentDriver { target: DeploymentTarget; diagnostics(instance: InstanceConfig, context: CommandContext): Promise; up?(options: DriverCommandOptions): Promise; down?(options: DriverCommandOptions): Promise; logs?(options: DriverCommandOptions): Promise; ps?(options: DriverCommandOptions): Promise; restart?(options: DriverCommandOptions): Promise; } export interface ParsedArgs { command?: string; subject?: string; positionals: string[]; flags: Record; } export {}; //# sourceMappingURL=types.d.ts.map