/// <reference types="node" />
import { AppHeader } from '@shardeum-foundation/lib-net/build/src/types';
import { VectorBufferStream } from '../utils/serialization/VectorBufferStream';
import { InternalRouteEnum } from './enum/InternalRouteEnum';
import { RequestErrorEnum } from './enum/RequestErrorEnum';
export declare const responseSerializer: <T>(data: T, serializerFunc: (stream: VectorBufferStream, obj: T, root?: boolean) => void) => VectorBufferStream;
export declare const responseDeserializer: <T>(data: VectorBufferStream, deserializerFunc: (stream: VectorBufferStream, root?: boolean) => T) => T;
export declare const requestSerializer: <T>(data: T, serializerFunc: (stream: VectorBufferStream, obj: T, root?: boolean) => void) => VectorBufferStream;
export declare const getStreamWithTypeCheck: (payload: Buffer, typeId: number, customErrorLog?: string) => VectorBufferStream;
export declare const verificationDataCombiner: (...args: string[]) => string;
export declare const verificationDataSplitter: (data: string) => string[];
export declare const requestErrorHandler: (apiRoute: InternalRouteEnum, errorType: RequestErrorEnum, header: AppHeader, opts?: {
    customErrorLog?: string;
    customCounterSuffix?: string;
}) => void;
export declare function estimateBinarySizeOfObject(obj: any): number;
