import { BodyEncoder, BodyDecoder } from "../../client/api/converter/body";
import { Header } from "../../client/impl/request/header";
export declare class ConverterProvider {
    _pathDecoderMapString: {
        [key: string]: string | (BodyEncoder<any> & BodyDecoder<any>);
    };
    _typeDecoderInstances: {
        [key: string]: (BodyEncoder<any> & BodyDecoder<any>);
    };
    _resolveTypeDecoder(typeId: string): (BodyEncoder<any> & BodyDecoder<any>);
    _resolvePathDecoder(path: string): (BodyEncoder<any> & BodyDecoder<any>) | null;
    constructor(pathToTypeMap: any, decodersMap: any);
    setBodyConverterForPath(path: string, converter: string | (BodyEncoder<any> & BodyDecoder<any>)): this;
    readonly types: {
        [key: string]: BodyEncoder<any> & BodyDecoder<any>;
    };
    readonly paths: {
        [key: string]: string | (BodyEncoder<any> & BodyDecoder<any>);
    };
    registerConverter(id: string, converter: (BodyEncoder<any> & BodyDecoder<any>)): this;
    /**
     * @deprecated
     * @param header
     */
    getFromHeader(header: Header): BodyDecoder<any> | null;
    /**
     * @deprecated
     * @param path
     */
    resolveFromPath(path: string): BodyDecoder<any> | null;
    resolveBodyEncoder(key: string): BodyEncoder<any>;
    resolveBodyDecoder(key: string): BodyDecoder<any>;
}
