/**
 * CLR Heritage Extraction
 *
 * Heritage extraction from tsbindgen .d.ts files:
 * - Extracting heritage edges (extends/implements) from tsbindgen .d.ts AST
 * - Extracting member types and method signature optionals from .d.ts
 * - Type parameter extraction from .d.ts declarations
 */
import type { IrType } from "../../../types/index.js";
import type { TypeId, NominalEntry, HeritageEdge } from "./types.js";
export type TsBindgenDtsTypeInfo = {
    readonly typeParametersByTsName: ReadonlyMap<string, readonly string[]>;
    readonly heritageByTsName: ReadonlyMap<string, readonly HeritageEdge[]>;
    readonly memberTypesByTsName: ReadonlyMap<string, ReadonlyMap<string, IrType>>;
    readonly methodSignatureSurfacesByTsName: ReadonlyMap<string, ReadonlyMap<string, TsBindgenDtsMethodSignatureSurface>>;
    readonly methodSignatureOptionalsByTsName: ReadonlyMap<string, ReadonlyMap<string, readonly boolean[]>>;
};
export type TsBindgenDtsMethodSignatureSurface = {
    readonly typeParameterNames: readonly string[];
    readonly parameters: readonly {
        readonly type: IrType;
        readonly isRest: boolean;
        readonly isOptional: boolean;
    }[];
    readonly returnType: IrType;
};
export declare const extractHeritageFromTsBindgenDts: (dtsPath: string, tsNameToTypeId: ReadonlyMap<string, TypeId>, entries: ReadonlyMap<string, NominalEntry>) => TsBindgenDtsTypeInfo;
//# sourceMappingURL=clr-heritage-extraction.d.ts.map