import { Kind } from '../symbols/index'; import { SchemaOptions, TSchema } from '../schema/index'; import { TProperties } from '../object/index'; import { Static } from '../static/index'; import { TComputeModuleProperties } from './compute'; import { TInferFromModuleKey } from './infer'; export interface TDefinitions extends TSchema { static: { [K in keyof ModuleProperties]: Static; }; $defs: ModuleProperties; } export interface TImport extends TSchema { [Kind]: 'Import'; static: TInferFromModuleKey; $defs: ModuleProperties; $ref: Key; } export declare class TModule> { private readonly $defs; constructor($defs: ModuleProperties); /** `[Json]` Imports a Type by Key. */ Import(key: Key, options?: SchemaOptions): TImport; private WithIdentifiers; } /** `[Json]` Creates a Type Definition Module. */ export declare function Module(properties: Properties): TModule;