import { SerdeOptions } from '../option'; import { IDeserializer, IIterableAccess, IMapAccess, IVisitor } from './interface'; export declare class GenericSeed<T> { readonly visitor: IVisitor<T>; constructor(visitor?: IVisitor<T>); static deserialize<T, D extends IDeserializer>(deserializer: D, visitor?: IVisitor<T>): T; deserialize<D extends IDeserializer>(deserializer: D): T; } export declare class ProxyVisitor<T> implements IVisitor<T> { private overrides?; private options?; constructor(overrides?: Partial<IVisitor<T>>, 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<T, V extends IVisitor<T>>(visitor: V): T; deserializeBoolean<T, V extends IVisitor<T>>(visitor: V): T; deserializeNumber<T, V extends IVisitor<T>>(visitor: V): T; deserializeBigInt<T, V extends IVisitor<T>>(visitor: V): T; deserializeString<T, V extends IVisitor<T>>(visitor: V): T; deserializeSymbol<T, V extends IVisitor<T>>(visitor: V): T; deserializeNull<T, V extends IVisitor<T>>(visitor: V): T; deserializeObject<T, V extends IVisitor<T>>(visitor: V): T; deserializeIterable<T, V extends IVisitor<T>>(visitor: V): T; deserializeFunction<T, V extends IVisitor<T>>(visitor: V): T; }