import * as Effect from "effect/Effect";
import * as FileSystem from "effect/FileSystem";
import * as Path from "effect/Path";
import * as ChildProcessSpawner from "effect/unstable/process/ChildProcessSpawner";
import type { KubernetesObjectDefinition } from "./objects.ts";
declare const HelmError_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: "HelmError";
} & Readonly;
/** A Helm invocation or render failure (bad chart ref, template error, …). */
export declare class HelmError extends HelmError_base<{
readonly message: string;
readonly cause?: unknown;
}> {
}
export interface RenderHelmChartOptions {
/**
* Chart reference: a repository chart name (with `repo`), an
* `oci://` reference, or a local chart directory path.
*/
chart: string;
/** Classic chart repository URL (`--repo`). */
repo?: string | undefined;
/** Chart version (`--version`). */
version?: string | undefined;
/** Release name the chart's templates render with (`.Release.Name`). */
releaseName: string;
/** Namespace the chart renders into (`.Release.Namespace`). */
namespace: string;
/** Values passed to the chart (written to a temp values file). */
values?: Record | undefined;
/**
* Render objects from the chart's `crds/` directory too
* (`--include-crds`).
* @default true
*/
includeCrds?: boolean | undefined;
}
/**
* Render a chart with `helm template` and parse the multi-document YAML
* output into object definitions. Every rendered object must carry
* `apiVersion`, `kind`, and `metadata.name` (server-side apply needs a
* name; `generateName`-only objects are rejected with a clear error).
*/
export declare const renderHelmChart: (options: RenderHelmChartOptions) => Effect.Effect;
/** Parse `helm template` output (multi-document YAML) into definitions. */
export declare const parseRenderedManifests: (chart: string, rendered: string) => Effect.Effect, HelmError>;
export {};
//# sourceMappingURL=helm.d.ts.map