import { JsonConvertSettings } from "./json-convert";
export declare abstract class JsonConverterRoot {
    readonly CanSerialize: boolean;
    readonly CanDeserialize: boolean;
    constructor(canSerialize: boolean, canDeserialize: boolean);
}
export declare class JsonConverterBase<T> extends JsonConverterRoot {
    constructor(canSerialize: boolean, canDeserialize: boolean);
    serialize(objectData: T, settings: JsonConvertSettings): any | null;
    deserialize(jsonData: any, expectedType: any | undefined, settings: JsonConvertSettings): T | null;
}
export declare class VyDateJsonConverter extends JsonConverterBase<Date> {
    constructor();
    deserialize(value: string, expectedType: any | undefined, settings: JsonConvertSettings): Date;
    serialize(data: Date, settings: JsonConvertSettings): any;
}
export declare class VyBigIntConverter extends JsonConverterBase<BigInt> {
    constructor();
    deserialize(value: string, expectedType: any | undefined, settings: JsonConvertSettings): BigInt;
    serialize(data: BigInt, settings: JsonConvertSettings): any;
}
//# sourceMappingURL=json-custom-convert.d.ts.map