import type { IrType } from "@tsonic/frontend"; import type { EmitterContext } from "../../types.js"; import type { CSharpTypeAst } from "../format/backend-ast/types.js"; import type { EmitTypeAstLike, RuntimeUnionLayout } from "./runtime-union-shared.js"; import { findExactRuntimeUnionMemberIndices, findRuntimeUnionAssignableMemberIndices, findRuntimeUnionInstanceofMemberIndices, findRuntimeUnionMemberIndex, findRuntimeUnionMemberIndices } from "./runtime-union-matching.js"; export { findExactRuntimeUnionMemberIndices, findRuntimeUnionAssignableMemberIndices, findRuntimeUnionInstanceofMemberIndices, findRuntimeUnionMemberIndex, findRuntimeUnionMemberIndices, }; export type { EmitTypeAstLike, RuntimeUnionFrame, RuntimeUnionLayout, } from "./runtime-union-shared.js"; export { buildRuntimeUnionFrame, getCanonicalRuntimeUnionMembers, } from "./runtime-union-frame.js"; export { getRuntimeUnionReferenceMembers, isRuntimeUnionTypeName, } from "./runtime-union-shared.js"; export declare const buildRuntimeUnionLayout: (type: IrType, context: EmitterContext, emitTypeAst: EmitTypeAstLike) => [RuntimeUnionLayout | undefined, EmitterContext]; export declare const buildRuntimeUnionTypeAst: (layout: RuntimeUnionLayout) => CSharpTypeAst; export declare const emitRuntimeCarrierTypeAst: (type: IrType, context: EmitterContext, emitTypeAst: EmitTypeAstLike) => [CSharpTypeAst, RuntimeUnionLayout | undefined, EmitterContext]; //# sourceMappingURL=runtime-unions.d.ts.map