import { ValueConverter } from "@odata2ts/converter-api";
import { QValuePathModel } from "../path/QPathModel";
import { FlexibleConversionModel, QueryObjectModel } from "../QueryObjectModel";
export declare abstract class QPrimitiveCollection<Type, ConvertedType, QType extends QValuePathModel> implements QueryObjectModel<ConvertedType> {
    protected prefix?: string | undefined;
    protected converter?: ValueConverter<Type, ConvertedType> | undefined;
    abstract readonly it: QType;
    constructor(prefix?: string | undefined, converter?: ValueConverter<Type, ConvertedType> | undefined);
    protected withPrefix(): string;
    convertFromOData(odataModel: FlexibleConversionModel<Type>): FlexibleConversionModel<ConvertedType>;
    convertToOData(userModel: FlexibleConversionModel<ConvertedType>): FlexibleConversionModel<Type>;
}
