import { ValueConverter } from "@odata2ts/converter-api"; import { FlexibleConversionModel } from "../QueryObjectModel"; import { QParamModel } from "./QParamModel"; import { UrlParamValueFormatter, UrlParamValueParser } from "./UrlParamModel"; export type PrimitiveParamType = string | number | boolean; export declare abstract class QParam implements QParamModel { protected name: string; protected mappedName?: string | undefined; protected readonly converter: ValueConverter; constructor(name: string, mappedName?: string | undefined, converter?: ValueConverter); getName(): string; getMappedName(): string; getConverter(): ValueConverter; protected abstract getUrlConformValue: UrlParamValueFormatter; protected abstract parseValueFromUrl: UrlParamValueParser; convertFrom(value: FlexibleConversionModel): FlexibleConversionModel; convertTo(value: FlexibleConversionModel): FlexibleConversionModel; formatUrlValue(value: FlexibleConversionModel): string | undefined; parseUrlValue(value: string | undefined): FlexibleConversionModel; }