import { type IrExpression, type IrType } from "@tsonic/frontend"; import type { CSharpExpressionAst } from "../core/format/backend-ast/types.js"; import { type EmitterContext } from "../types.js"; export declare const hasMismatchedCollectionElementCarrier: (sourceType: IrType, targetType: IrType, context: EmitterContext) => boolean; export declare const resolveCarrierPreservingSourceType: (sourceType: IrType | undefined, carrierTargetType: IrType | undefined, context: EmitterContext) => IrType | undefined; export declare const resolveCarrierPreservingRawExpectedType: (opts: { readonly expr: IrExpression; readonly selectedExpectedType: IrType | undefined; readonly contextualExpectedType: IrType | undefined; readonly surfaceExpectedType: IrType | undefined; readonly finalExpectedType: IrType | undefined; readonly context: EmitterContext; }) => IrType | undefined; export declare const resolveDirectStorageCompatibleExpressionType: (opts: { readonly expr: IrExpression; readonly valueAst: CSharpExpressionAst; readonly context: EmitterContext; }) => IrType | undefined; export declare const resolveDirectStorageCompatibleIrType: (opts: { readonly expr: IrExpression; readonly context: EmitterContext; }) => IrType | undefined; export declare const resolveRuntimeCarrierCompatibleExpressionAst: (opts: { readonly expr: IrExpression; readonly context: EmitterContext; }) => CSharpExpressionAst | undefined; export declare const resolveRuntimeCarrierCompatibleIrType: (opts: { readonly expr: IrExpression; readonly context: EmitterContext; }) => IrType | undefined; export declare const tryEmitCarrierPreservingExpressionAst: (opts: { readonly expr: IrExpression; readonly expectedType: IrType | undefined; readonly context: EmitterContext; }) => { readonly ast: CSharpExpressionAst; readonly context: EmitterContext; readonly actualType: IrType; } | undefined; export declare const adaptValueToExpectedTypeAst: (opts: { readonly valueAst: CSharpExpressionAst; readonly actualType: IrType | undefined; readonly context: EmitterContext; readonly expectedType: IrType | undefined; readonly visited?: ReadonlySet; readonly allowUnionNarrowing?: boolean; readonly selectedSourceMemberNs?: ReadonlySet; }) => [CSharpExpressionAst, EmitterContext] | undefined; export declare const adaptEmittedExpressionAst: (opts: { readonly expr: IrExpression; readonly valueAst: CSharpExpressionAst; readonly context: EmitterContext; readonly expectedType: IrType | undefined; }) => [CSharpExpressionAst, EmitterContext]; //# sourceMappingURL=expected-type-adaptation.d.ts.map