import { type Expr } from "../../expr";
import type { Type } from "../../types/definitions";
import type { FunctionGenerationContext } from "../functions/context";
import { type CodeGenContext } from "../utils";
export declare function resolveSomeTypeParamType(valueArg: Expr, valueType: Type, context: CodeGenContext): Type;
export declare function generateDropCodeForValue(valueCode: string, valueType: Type, context: CodeGenContext): string;
export declare function generateDupCodeForValue(valueCode: string, valueType: Type, context: CodeGenContext): string;
export declare function getDropFunctionForType(type: Type, context: CodeGenContext): string | undefined;
export declare function getDupFunctionForType(type: Type, context: CodeGenContext): string | undefined;
export declare function generateDeferredDropExpressions(expr: Expr, indent: string, context: FunctionGenerationContext): void;
export declare function generateDeferredDupExpressions(expr: Expr, indent: string, context: FunctionGenerationContext): void;
