import type { EnvField } from "../introspect.js"; export interface K8sManifestOptions { /** Base name used for both the ConfigMap and the Secret. Required. */ name: string; /** Kubernetes namespace. Default: omitted (uses the deploy-time default). */ namespace?: string; /** Suffix appended to the ConfigMap name. Default: `'-config'`. */ configMapSuffix?: string; /** Suffix appended to the Secret name. Default: `'-secret'`. */ secretSuffix?: string; /** * Values for non-secret fields. Defaults inferred from the schema are * used when a key is missing. Required fields with no schema default * and no value here are emitted with an empty string and a TODO comment. */ values?: Record; /** Labels applied to both manifests. */ labels?: Record; /** Annotations applied to both manifests. */ annotations?: Record; /** * If true, secret values come from the `values` map encoded as base64 * (Secret `data` field). If false (default), secret keys are listed * under `stringData` with empty placeholders — the operator fills them * in via `kubectl edit` or a sealed-secret/vault workflow. */ inlineSecretValues?: boolean; /** End-of-line. Default: `"\n"`. */ eol?: string; } export interface K8sManifestResult { /** Combined YAML document (ConfigMap + Secret separated by `---`). */ yaml: string; /** ConfigMap YAML only. */ configMap: string; /** Secret YAML only, or empty string if the schema has no secret fields. */ secret: string; } /** * Generate Kubernetes ConfigMap and Secret manifests from introspected * env field metadata. Secret fields (auto-detected or `@secret`-tagged) * land in the Secret; everything else lands in the ConfigMap. * * Typical workflow: * 1. Commit the ConfigMap YAML to the infra repo. * 2. Fill in the Secret YAML via Sealed Secrets / Vault / External * Secrets, or run `kubectl create secret generic ...` directly. */ export declare function generateK8sManifests(fields: readonly EnvField[], options: K8sManifestOptions): K8sManifestResult; //# sourceMappingURL=k8s.d.ts.map