import { EmitContext } from "@typespec/compiler"; import { TypeNode } from "./ir/ast.js"; import { TypraEmitterOptions } from "./lib.js"; import type { CallableVectorSnapshot } from "./ir/vector.js"; import type { TransportContract } from "./ir/transport.js"; export interface GeneratorOptions { rootNamespace?: string; rootAlias?: string; namespaceOutput?: "structural" | "flat"; omitModels?: string[]; additionalModels?: TypeNode[]; callableVectors?: CallableVectorSnapshot; transportContracts?: TransportContract[]; } /** * Filter nodes based on omit-models option. * Matches against model name (e.g., "AgentManifest") or fully qualified name (e.g., "Prompty.AgentManifest") */ export declare function filterNodes(nodes: TypeNode[], options?: GeneratorOptions): TypeNode[]; export declare function inferRootNamespace(rootObject: string): string; export declare function $onEmit(context: EmitContext): Promise;