/** * Shared helpers for object and dictionary literal emission. */ import { IrClassMember, IrExpression, IrType } from "@tsonic/frontend"; import { EmitterContext } from "../types.js"; import type { CSharpExpressionAst, CSharpTypeAst } from "../core/format/backend-ast/types.js"; import type { LocalTypeInfo } from "../emitter-types/core.js"; export declare const emitObjectMemberName: (receiverType: IrType | undefined, memberName: string, context: EmitterContext) => string; export declare const getDeterministicObjectKeyName: (key: string | IrExpression) => string | undefined; export declare const isObjectRootTypeAst: (typeAst: CSharpTypeAst) => boolean; export declare const isObjectRootType: (type: IrType, context: EmitterContext) => boolean; export declare const isDictionaryLikeSpreadType: (type: IrType, context: EmitterContext) => boolean; export declare const createStringLiteralExpression: (value: string) => CSharpExpressionAst; export declare const createDictionaryElementAccess: (targetIdentifier: string, key: CSharpExpressionAst) => CSharpExpressionAst; /** * Get property names from an object-like type. */ export declare const getObjectTypePropertyNames: (type: IrType, context: EmitterContext) => readonly string[]; export declare const hasMatchingBehaviorMember: (candidate: Extract, member: IrClassMember) => boolean; //# sourceMappingURL=object-helpers.d.ts.map