import { PostgresDeployOptions, DeployResult } from "./deployers/postgres"; import { TemplateDeployOptions, TemplateDeployResult, TemplateUninstallOptions, TemplateUninstallResult } from "./deployers/presets/base"; import { DeploymentStatus } from "./types"; export interface KubernetesContext { namespace?: string; kubeconfig?: string; context?: string; verbose?: boolean; timeout?: string; restEndpoint?: string; } export declare class Client { private setupClient; private ctx; private kubeClient; private pg?; private templateDeployers; constructor(ctx?: KubernetesContext); /** * Set up a cluster with the specified configuration */ setupCluster(configPath: string): Promise; /** * Deploy a PostgreSQL database using CloudNativePG (operator must be installed). * Returns connection endpoints once ready. */ deployPostgres(options?: PostgresDeployOptions): Promise; /** * Deploy a template (minio, ollama, postgres) */ deployTemplate(templateId: string, options?: TemplateDeployOptions): Promise; /** * Uninstall a template */ uninstallTemplate(templateId: string, options?: TemplateUninstallOptions): Promise; /** * Check if a template is deployed */ isTemplateDeployed(templateId: string, name?: string, namespace?: string): Promise; /** * Get template deployment status */ getTemplateStatus(templateId: string, name?: string, namespace?: string): Promise<'deployed' | 'deploying' | 'failed' | 'not-found'>; /** * Wait for template to be ready */ waitForTemplate(templateId: string, name?: string, namespace?: string, timeoutMs?: number): Promise; private getTemplateDeployer; /** * Deploy an application with the specified configuration */ deployApplication(configPath: string): Promise; /** * Get the status of a cluster setup */ getClusterStatus(configPath: string): Promise; /** * Get the status of an application deployment */ getApplicationStatus(configPath: string): Promise; /** * Wait for a cluster setup to be ready */ waitForCluster(configPath: string, timeoutMs?: number, pollMs?: number): Promise; /** * Wait for an application to be ready */ waitForApplication(configPath: string, timeoutMs?: number): Promise; /** * Delete a cluster setup and all its resources */ deleteCluster(configPath: string): Promise; /** * Teardown (uninstall) operators defined in the cluster setup configuration */ teardownOperators(configPath: string, options?: { continueOnError?: boolean; }): Promise; /** * Delete an application with the specified configuration */ deleteApplication(configPath: string): Promise; /** * Generate Kubernetes manifests from ApplicationConfig */ private generateApplicationManifests; /** * Validate a configuration file */ validateConfig(configPath: string, type?: "cluster" | "application"): boolean; /** * Generate a sample configuration file */ generateSampleConfig(outputPath: string, type?: "cluster" | "application"): void; /** * List all interweb resources in the cluster */ listResources(): Promise; private displayStatus; private log; private provisionApplicationDatabase; private sleep; }