import { JsonTypeBuilder } from './json'; import { type TArgument } from '../argument/index'; import { type TAsyncIterator } from '../async-iterator/index'; import { type TAwaited } from '../awaited/index'; import { type TBigInt, type BigIntOptions } from '../bigint/index'; import { type TConstructor } from '../constructor/index'; import { type TConstructorParameters } from '../constructor-parameters/index'; import { type TDate, type DateOptions } from '../date/index'; import { type TFunction } from '../function/index'; import { type TInstanceType } from '../instance-type/index'; import { type TInstantiate } from '../instantiate/index'; import { type TIterator } from '../iterator/index'; import { type TParameters } from '../parameters/index'; import { type TPromise } from '../promise/index'; import { type TRegExp, RegExpOptions } from '../regexp/index'; import { type TReturnType } from '../return-type/index'; import { type TSchema, type SchemaOptions } from '../schema/index'; import { type TSymbol } from '../symbol/index'; import { type TUint8Array, type Uint8ArrayOptions } from '../uint8array/index'; import { type TUndefined } from '../undefined/index'; import { type TVoid } from '../void/index'; /** JavaScript Type Builder with Static Resolution for TypeScript */ export declare class JavaScriptTypeBuilder extends JsonTypeBuilder { /** `[JavaScript]` Creates a Generic Argument Type */ Argument(index: Index): TArgument; /** `[JavaScript]` Creates a AsyncIterator type */ AsyncIterator(items: Type, options?: SchemaOptions): TAsyncIterator; /** `[JavaScript]` Constructs a type by recursively unwrapping Promise types */ Awaited(schema: Type, options?: SchemaOptions): TAwaited; /** `[JavaScript]` Creates a BigInt type */ BigInt(options?: BigIntOptions): TBigInt; /** `[JavaScript]` Extracts the ConstructorParameters from the given Constructor type */ ConstructorParameters(schema: Type, options?: SchemaOptions): TConstructorParameters; /** `[JavaScript]` Creates a Constructor type */ Constructor(parameters: [...Parameters], instanceType: InstanceType, options?: SchemaOptions): TConstructor; /** `[JavaScript]` Creates a Date type */ Date(options?: DateOptions): TDate; /** `[JavaScript]` Creates a Function type */ Function(parameters: [...Parameters], returnType: ReturnType, options?: SchemaOptions): TFunction; /** `[JavaScript]` Extracts the InstanceType from the given Constructor type */ InstanceType(schema: Type, options?: SchemaOptions): TInstanceType; /** `[JavaScript]` Instantiates a type with the given parameters */ Instantiate(schema: Type, parameters: [...Parameters]): TInstantiate; /** `[JavaScript]` Creates an Iterator type */ Iterator(items: Type, options?: SchemaOptions): TIterator; /** `[JavaScript]` Extracts the Parameters from the given Function type */ Parameters(schema: Type, options?: SchemaOptions): TParameters; /** `[JavaScript]` Creates a Promise type */ Promise(item: Type, options?: SchemaOptions): TPromise; /** `[JavaScript]` Creates a RegExp type */ RegExp(pattern: string, options?: RegExpOptions): TRegExp; /** `[JavaScript]` Creates a RegExp type */ RegExp(regex: RegExp, options?: RegExpOptions): TRegExp; /** `[JavaScript]` Extracts the ReturnType from the given Function type */ ReturnType(type: Type, options?: SchemaOptions): TReturnType; /** `[JavaScript]` Creates a Symbol type */ Symbol(options?: SchemaOptions): TSymbol; /** `[JavaScript]` Creates a Undefined type */ Undefined(options?: SchemaOptions): TUndefined; /** `[JavaScript]` Creates a Uint8Array type */ Uint8Array(options?: Uint8ArrayOptions): TUint8Array; /** `[JavaScript]` Creates a Void type */ Void(options?: SchemaOptions): TVoid; }