import type { LoqateAddressDetailsItem, LoqateSearchResponse } from "./types";
export declare class LoqateAddressLookupService {
    #private;
    constructor({ baseUrl, apiKey, countries, filters }: {
        baseUrl?: string;
        apiKey?: string;
        countries?: string[];
        filters?: Record<string, string>;
    });
    private fetchFromApi;
    /**
     * Builds the Filters query parameter for Loqate API requests.
     * - Filter keys (e.g., "AdministrativeArea", "PostalCode") are predefined by Loqate API (no need to encode)
     * - Filter values (e.g., "New York", "90210") contain user input that may have special characters (need encoding)
     *
     * @returns Empty string if no filters, otherwise "&Filters=key1:value1&key2:value2" (Loqate's expected format for Filters)
     */
    private buildFiltersQuery;
    search(searchTerm: string): Promise<LoqateSearchResponse>;
    findById(id: string): Promise<LoqateSearchResponse>;
    get(id: string): Promise<LoqateAddressDetailsItem>;
}
