import { IrExpression, IrType } from "@tsonic/frontend"; import { EmitterContext, NarrowedBinding } from "../../types.js"; import type { CSharpExpressionAst } from "../../core/format/backend-ast/types.js"; export declare const getStorageIdentifierAst: (expr: Extract, context: EmitterContext) => CSharpExpressionAst | undefined; export declare const needsStructuralCollectionMaterialization: (actualType: IrType | undefined, expectedType: IrType | undefined, context: EmitterContext) => boolean; export declare const wrapMaterializedTargetAst: (valueAst: CSharpExpressionAst, targetType: IrType, context: EmitterContext) => [CSharpExpressionAst, EmitterContext]; export declare const preservesMaterializedValueTypeNarrowing: (narrowed: Extract, context: EmitterContext) => boolean; //# sourceMappingURL=storage-surface-shared.d.ts.map