import * as ts from "typescript";
import { IrFunctionDeclaration } from "../../../types.js";
import type { ProgramContext } from "../../../program-context.js";
import { type GenericFunctionValueNode } from "../../../../generic-function-values.js";
export declare const isSupportedGenericFunctionValueDeclaration: (decl: ts.VariableDeclaration, checker: ts.TypeChecker, writtenSymbols: ReadonlySet<ts.Symbol>) => decl is ts.VariableDeclaration & {
    readonly name: ts.Identifier;
    readonly initializer: GenericFunctionValueNode;
};
export declare const isSupportedGenericFunctionAliasDeclaration: (decl: ts.VariableDeclaration, checker: ts.TypeChecker, writtenSymbols: ReadonlySet<ts.Symbol>, supportedSymbols: ReadonlySet<ts.Symbol>) => decl is ts.VariableDeclaration & {
    readonly name: ts.Identifier;
    readonly initializer: ts.Identifier;
};
export declare const convertGenericFunctionValueDeclaration: (node: ts.VariableStatement, decl: ts.VariableDeclaration & {
    readonly name: ts.Identifier;
    readonly initializer: GenericFunctionValueNode;
}, ctx: ProgramContext) => IrFunctionDeclaration | null;
export declare const convertGenericFunctionValueAliasDeclaration: (node: ts.VariableStatement, decl: ts.VariableDeclaration & {
    readonly name: ts.Identifier;
    readonly initializer: ts.Identifier;
}, ctx: ProgramContext) => IrFunctionDeclaration | null;
//# sourceMappingURL=variables-generic-function-values.d.ts.map