import { WellKnownSymbols } from './tree/symbols'; export type PrimitiveValue = boolean | string | number | undefined | null | WellKnownSymbols; export type ErrorValue = Error | AggregateError | EvalError | RangeError | ReferenceError | TypeError | SyntaxError | URIError; export type TypedArrayValue = Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array; export type BigIntTypedArrayValue = BigInt64Array | BigUint64Array; export type SemiPrimitiveValue = RegExp | Date | TypedArrayValue | BigIntTypedArrayValue | bigint; export type CommonServerValue = PrimitiveValue | SemiPrimitiveValue | ErrorValue; export type ServerValue = CommonServerValue | Array | readonly ServerValue[] | Iterable | { [key: string | number]: ServerValue; } | { readonly [key: string | number]: ServerValue; } | Set | Map; export type AsyncServerValue = CommonServerValue | Array | readonly AsyncServerValue[] | Iterable | { [key: string | number]: AsyncServerValue; } | { readonly [key: string | number]: AsyncServerValue; } | Set | Map | PromiseLike; export type NonPrimitiveServerValue = T extends PrimitiveValue ? never : T; export type MaybePromise = T | Promise;