import { Identifier } from "./identifier"; import { Bindings, HasBindings, MissingDeepBindings, MissingBindings, Kind } from "./kind"; export type Declarations = { byIdentifierReference: { [reference: Identifier.Reference]: Kind.Interface | Kind.UserDefinedValueType | Kind.Struct; }; unnamedBySignature: UnnamedBySignature; globalIdentifiers: Set; identifiersByContainer: { [reference: Identifier.Interface.Reference]: Set; }; }; export type UnnamedBySignature = B extends HasBindings ? { [signature: string]: never; } : B extends MissingDeepBindings ? { [signature: string]: undefined; } : B extends MissingBindings ? { [signature: string]: Kind.Struct; } : { [signature: string]: Kind.Struct; }; /** * Initialize an empty set of declarations */ export declare const empty: () => Declarations; /** * Merge two sets of declarations */ export declare const merge: (a: Declarations, b: Declarations) => Declarations; /** * Generate declarations to include a single Kind. * Note! This does not recurse; e.g. it returns empty() for arrays always */ export declare const from: (kind: Kind) => Declarations; //# sourceMappingURL=types.d.ts.map