/** * Kubernetes Client - Direct k8s API Access * * Kubernetes operations using direct @kubernetes/client-node integration */ import type { Logger } from 'pino'; import { type Result } from '../../types/index.js'; export interface DeploymentResult { ready: boolean; readyReplicas: number; totalReplicas: number; } export interface K8sManifest { apiVersion: string; kind: string; metadata: { name: string; namespace?: string; labels?: Record; annotations?: Record; }; spec?: Record; data?: Record; } export interface KubernetesClient { applyManifest: (manifest: K8sManifest, namespace?: string) => Promise>; getDeploymentStatus: (namespace: string, name: string) => Promise>; waitForDeploymentReady: (namespace: string, name: string, timeoutSeconds: number, pollIntervalMs?: number) => Promise>; ensureNamespace: (namespace: string) => Promise>; ping: () => Promise; namespaceExists: (namespace: string) => Promise; checkPermissions: (namespace: string) => Promise; checkIngressController: () => Promise; } /** * Create a Kubernetes client with core operations * * @throws Error if kubeconfig is invalid or not found (fast-fail for single-user scenarios) */ export declare const createKubernetesClient: (logger: Logger, kubeconfig?: string, timeout?: number) => KubernetesClient; //# sourceMappingURL=client.d.ts.map