import { FwRef_Exports, Origin_Exporter, type Origin_Entity, type Origin_Props, type Ref2_Of, type Resource_Ctor_Of } from "@k8ts/instruments";
import type { v1 } from "../../kinds";
import { type File_Section_Props } from "./section";
export type File_sName = `${string}.yaml`;
export interface File_Props<Kinds extends Resource_Ctor_Of[] = Resource_Ctor_Of[], Exports extends Kinds[number]["prototype"] = Kinds[number]["prototype"]> extends Origin_Props<Kinds[number]> {
    kinds?: Kinds;
    namespace?: Ref2_Of<v1.Namespace._>;
    FILE(FILE: Origin_File_Scope<Kinds>): Iterable<Exports | FwRef_Exports<Exports>>;
}
export declare class Origin_File extends Origin_Exporter<File_Props> {
    #private;
    get kind(): string;
    protected __exports__(): import("doddle").Seq<Ref2_Of>;
}
export declare function File<Kinds extends Resource_Ctor_Of[] = Resource_Ctor_Of[], Exports extends Kinds[number]["prototype"] = Kinds[number]["prototype"]>(parent: Origin_Entity, name: File_sName, props: File_Props<Kinds, Exports>): FwRef_Exports<Exports>;
export declare class Origin_File_Scope<Kinds extends Resource_Ctor_Of[]> {
    private readonly _file;
    constructor(_file: Origin_File);
    get __entity__(): Origin_File;
    on: Origin_File["on"];
    Section<Exported extends Kinds[number]["prototype"] = Kinds[number]["prototype"]>(name: string, props: File_Section_Props<Exported>): FwRef_Exports<Exported>;
}
export type File<Kinds extends Resource_Ctor_Of[] = Resource_Ctor_Of[], T extends Kinds[number]["prototype"] = Kinds[number]["prototype"]> = FwRef_Exports<T>;
//# sourceMappingURL=file.d.ts.map