import { GeocodeQuery, GeocodeQueryObject } from "../../query";
declare type Shape = "geojson" | "kml" | "svg" | "text";
export interface NominatimGeocodeQueryObject extends GeocodeQueryObject {
    readonly countryCodes?: string[];
    readonly excludePlaceIds?: number[];
    readonly bounded?: boolean;
    readonly dedupe?: boolean;
    readonly shape?: Shape;
    readonly shapeThreshold?: number;
}
export default class NominatimGeocodeQuery extends GeocodeQuery {
    private readonly countryCodes?;
    private readonly excludePlaceIds?;
    private readonly bounded?;
    private readonly dedupe?;
    private readonly shape?;
    private readonly shapeThreshold?;
    protected constructor({ countryCodes, excludePlaceIds, bounded, bounds, dedupe, shape, shapeThreshold, ...geocodeQueryObject }: NominatimGeocodeQueryObject);
    static create(object: NominatimGeocodeQueryObject): NominatimGeocodeQuery;
    toObject(): NominatimGeocodeQueryObject;
    withCountryCodes(countryCodes: string[]): NominatimGeocodeQuery;
    getCountryCodes(): undefined | string[];
    withExcludePlaceIds(excludePlaceIds: number[]): NominatimGeocodeQuery;
    getExcludePlaceIds(): undefined | number[];
    withBounded(bounded: boolean): NominatimGeocodeQuery;
    getBounded(): undefined | boolean;
    withDedupe(dedupe: boolean): NominatimGeocodeQuery;
    getDedupe(): undefined | boolean;
    withShape(shape: Shape): NominatimGeocodeQuery;
    getShape(): undefined | Shape;
    withShapeThreshold(shapeThreshold: number): NominatimGeocodeQuery;
    getShapeThreshold(): undefined | number;
}
export {};
//# sourceMappingURL=NominatimGeocodeQuery.d.ts.map