/**
 * Shared test helpers for binding resolution tests.
 */
import * as ts from "typescript";
import { DotnetMetadataRegistry } from "../../dotnet-metadata.js";
import { BindingRegistry } from "../../program/bindings.js";
import type { DeclId } from "../type-system/types.js";
export { buildIrModule } from "../builder.js";
export { createProgramContext } from "../program-context.js";
export { BindingRegistry } from "../../program/bindings.js";
export type { IrIdentifierExpression } from "../types.js";
export { extractTypeName } from "../converters/expressions/access/member-resolution.js";
export { resolveHierarchicalBinding } from "../converters/expressions/access/binding-resolution.js";
export declare const createTestDeclId: (id: number) => DeclId;
export declare const createTestProgram: (source: string, bindings?: BindingRegistry, fileName?: string) => {
    testProgram: {
        program: ts.Program;
        checker: ts.TypeChecker;
        options: {
            projectRoot: string;
            sourceRoot: string;
            rootNamespace: string;
            strict: boolean;
        };
        sourceFiles: ts.SourceFile[];
        declarationSourceFiles: never[];
        metadata: DotnetMetadataRegistry;
        bindings: BindingRegistry;
        clrResolver: import("../../resolver/clr-bindings-resolve-logic.js").ClrBindingsResolver;
        binding: import("../binding/binding-types.js").BindingInternal;
    };
    ctx: import("../program-context-types.js").ProgramContext;
    options: {
        sourceRoot: string;
        rootNamespace: string;
    };
};
//# sourceMappingURL=helpers.d.ts.map