import type { IrParameter, IrType } from "@tsonic/frontend"; import type { CSharpExpressionAst, CSharpTypeAst } from "../core/format/backend-ast/types.js"; export type RuntimeParameterDefaultInfo = { readonly paramName: string; readonly typeAst: CSharpTypeAst; readonly initializer: CSharpExpressionAst; readonly sourceName?: string; readonly semanticType?: IrType; }; export declare const isCSharpOptionalParameterDefaultAst: (expr: CSharpExpressionAst) => boolean; export declare const supportsNullCoalescingParameterDefault: (typeAst: CSharpTypeAst) => boolean; export declare const preservesNullableShadowType: (initializer: CSharpExpressionAst) => boolean; export declare const signatureDefaultForInitializedParameter: (parameters: readonly IrParameter[], parameterIndex: number, typeAst: CSharpTypeAst, initializer: CSharpExpressionAst) => CSharpExpressionAst | undefined; export declare const canEmitParameterDefaultInSignature: (parameters: readonly IrParameter[], parameterIndex: number) => boolean; export declare const computeWrapperPrefixLengths: (parameters: readonly IrParameter[], suppressedDefaultIndexes: ReadonlySet) => readonly number[]; export declare const canLowerParameterDefaultViaWrapper: (parameters: readonly IrParameter[], parameterIndex: number) => boolean; //# sourceMappingURL=parameter-defaults.d.ts.map