import type { CSharpTypeAst } from "../format/backend-ast/types.js"; export type RuntimeUnionCarrierMetadata = { readonly familyKey: string; readonly name?: string; readonly namespaceName?: string; readonly typeParameters?: readonly string[]; readonly definitionMemberTypeAsts?: readonly CSharpTypeAst[]; readonly accessModifier?: "public" | "internal"; }; export type RuntimeUnionCarrierDefinition = { readonly key: string; readonly name: string; readonly namespaceName: string; readonly fullName: string; readonly arity: number; readonly typeParameters: readonly string[]; readonly memberTypeAsts: readonly CSharpTypeAst[]; readonly memberTypeKeys: readonly string[]; readonly accessModifier: "public" | "internal"; }; export type RuntimeUnionRegistry = { readonly definitions: Map; readonly definitionsByName: Map; }; export declare const createRuntimeUnionRegistry: () => RuntimeUnionRegistry; export declare const getRuntimeUnionCarrierDefinitionByName: (name: string, registry: RuntimeUnionRegistry | undefined) => RuntimeUnionCarrierDefinition | undefined; export declare const getOrRegisterRuntimeUnionCarrier: (memberTypeAsts: readonly CSharpTypeAst[], registry: RuntimeUnionRegistry | undefined, metadata?: RuntimeUnionCarrierMetadata) => RuntimeUnionCarrierDefinition; //# sourceMappingURL=runtime-union-registry.d.ts.map