import * as Effect from "effect/Effect"; import { type ClusterTransport } from "../ClusterAdapter.ts"; import type { Connection } from "../Connection.ts"; import { type KubernetesObjectDefinition, type KubernetesObjectKindSpec, type KubernetesObjectRef } from "./objects.ts"; declare const KubernetesApiError_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & { readonly _tag: "KubernetesApiError"; } & Readonly; export declare class KubernetesApiError extends KubernetesApiError_base<{ method: string; path: string; statusCode: number; body: string; }> { get message(): string; } /** * Resolve the {@link ClusterTransport} for a connection through its * registered adapter. */ export declare const connectCluster: (connection: Connection) => Effect.Effect; /** * Resolve the REST mapping (plural + scope) for an arbitrary kind: static * table fast path, then the Kubernetes discovery API (`/apis/{g}/{v}` or * `/api/v1`). This is what lets `Kubernetes.Manifest` apply any CRD. */ export declare const resolveKindSpec: (args_0: { transport: ClusterTransport; input: Pick; }) => Effect.Effect; export declare const readObject: (args_0: { transport: ClusterTransport; object: KubernetesObjectRef; }) => Effect.Effect; export declare const applyObject: (args_0: { transport: ClusterTransport; object: KubernetesObjectDefinition; }) => Effect.Effect; export declare const deleteObject: (args_0: { transport: ClusterTransport; object: KubernetesObjectRef; }) => Effect.Effect; export declare const reconcileObjects: (args_0: { transport: ClusterTransport; previousObjects: ReadonlyArray; desiredObjects: ReadonlyArray; }) => Effect.Effect; export declare const deleteObjects: (args_0: { transport: ClusterTransport; objects: ReadonlyArray; }) => Effect.Effect; export {}; //# sourceMappingURL=client.d.ts.map