k8ts
Version:
Powerful framework for building Kubernetes manifests in TypeScript.
34 lines • 1.54 kB
TypeScript
import { BaseOriginEntity, KindMap, LiveRefable, Origin, type Kind } from "@k8ts/instruments";
import { Meta } from "@k8ts/metadata";
import { External } from "../external";
import { File } from "../file";
import { FileExports } from "../file/exports";
import { FileOrigin } from "../file/origin";
export type ManifestFileName = `${string}.yaml`;
export declare namespace World {
interface Props {
name: string;
meta?: Meta.Input;
kinds?: KindMap;
}
type DefineScopedFile<Scope extends FileOrigin.Scope> = {
metadata(input: Meta.Input): DefineScopedFile<Scope>;
Resources<const Produced extends LiveRefable>(producer: FileExports.Producer<Scope, Produced>): File<Produced>;
};
class Builder extends BaseOriginEntity<Props> {
readonly kind: Kind.Kind<"World", Kind.Version<`v${string}`, Kind.Group<"build.k8ts.org">>>;
private readonly _ExternalOrigin;
constructor(props: Props);
External<K extends Kind>(kind: K, name: string, namespace?: string): External<K>;
Scope<const Scope extends FileOrigin.Scope>(scope: Scope): {
File(name: ManifestFileName, props?: FileOrigin.SmallerProps): DefineScopedFile<Scope>;
};
private _File;
}
function make(props: Props): Builder;
}
export declare class ExternalOriginEntity extends BaseOriginEntity {
kind: Kind.Kind<"External", Kind.Version<`v${string}`, Kind.Group<"build.k8ts.org">>>;
constructor(parent: Origin);
}
//# sourceMappingURL=world.d.ts.map