import { ParamValueModel } from "@odata2ts/converter-api";
import { FlexibleConversionModel, QueryObjectModel } from "../QueryObjectModel";
import { QParamModel } from "./QParamModel";
export declare class QComplexParam<Type, Q extends QueryObjectModel> implements QParamModel<any, Type> {
    protected name: string;
    protected qObject: Q;
    protected mappedName?: string | undefined;
    constructor(name: string, qObject: Q, mappedName?: string | undefined);
    getName(): string;
    getMappedName(): string;
    convertFrom(value: FlexibleConversionModel<any>): FlexibleConversionModel<Type>;
    convertTo(value: FlexibleConversionModel<Type>): FlexibleConversionModel<any>;
    formatUrlValue(value: ParamValueModel<Type> | Array<ParamValueModel<Type>>): string | undefined;
    parseUrlValue(value: string | undefined): ParamValueModel<Type> | Array<ParamValueModel<Type>>;
}
