import { OriginVertex, type ExporterOrigin } from "@k8ts/instruments"; import { Metadata, type Metadata_Input } from "@k8ts/metadata"; import { type AssemblerRscLoaderEvents } from "./loader"; import { NodeManifest, type ManifesterEventsTable } from "./manifester"; import { type ManifestSaverEventsTable } from "./saver"; import { type SerializerEventsTable } from "./serializer"; export declare const assemblerEventNames: (keyof AssemblerEventsTable)[]; export declare class Assembler { private readonly _options; private _emitter; constructor(_options: AssemblerOptions); on(event: Name, listener: (payload: AssemblerEventsTable[Name]) => void): this; onAny(handler: (name: Name, payload: AssemblerEventsTable[Name]) => void): this; private _attachProductionAnnotations; assemble(inFiles: Iterable): Promise; } export interface FileNodes { file: OriginVertex; resources: NodeManifest[]; } export interface Artifact extends NodeManifest { yaml: string; } export interface AssembledFile { file: OriginVertex; path: string; filename: string; bytes: number; artifacts: Artifact[]; } export interface AssembledResult { files: AssembledFile[]; options: AssemblerOptions; } export interface AssemblerOptions { displayCwd?: string; cwd?: string; printOptions?: boolean; outdir: string; metadata?: Omit | Metadata; } export type AssemblyStage = "loading" | "validating" | "manifesting" | "serializing" | "saving" | "start" | "reporting" | "done" | "gathering"; export interface AssemblerEventsTable extends ManifestSaverEventsTable, SerializerEventsTable, ManifesterEventsTable, AssemblerRscLoaderEvents { ["stage"]: { stage: AssemblyStage; }; } export type AnyAssemblerEvent = { [K in keyof AssemblerEventsTable]: AssemblerEventsTable[K] & { type: K; }; }[keyof AssemblerEventsTable]; //# sourceMappingURL=assembler.d.ts.map