import { SerdeOptions } from '../option'; import { IDeserializer, IIterableAccess, IMapAccess, IVisitor } from './interface'; export declare class GenericSeed { readonly visitor: IVisitor; constructor(visitor?: IVisitor); static deserialize(deserializer: D, visitor?: IVisitor): T; deserialize(deserializer: D): T; } export declare class ProxyVisitor implements IVisitor { private overrides?; private options?; constructor(overrides?: Partial>, options?: SerdeOptions); visitBoolean(value: boolean): T; visitNumber(value: number): T; visitBigInt(value: bigint): T; visitString(value: string): T; visitSymbol(value: symbol): T; visitNull(): T; visitObject(access: IMapAccess): T; visitIterable(access: IIterableAccess): T; } export declare class ProxyDeserializer implements IDeserializer { private readonly deserializer; private readonly options?; constructor(deserializer: IDeserializer, options?: SerdeOptions); deserializeAny>(visitor: V): T; deserializeBoolean>(visitor: V): T; deserializeNumber>(visitor: V): T; deserializeBigInt>(visitor: V): T; deserializeString>(visitor: V): T; deserializeSymbol>(visitor: V): T; deserializeNull>(visitor: V): T; deserializeObject>(visitor: V): T; deserializeIterable>(visitor: V): T; deserializeFunction>(visitor: V): T; }