import type { Transport } from "@what3words/api";
export interface UtilisationSessionData {
    return_coordinates: boolean;
    typeahead_delay: number;
    variant: string;
    component_version: string;
}
export interface UtilisationSessionHeader {
    Origin: string;
    "User-Agent": string;
    "X-W3W-Wrapper": string;
    "X-W3W-AS-Component": string;
    "X-Correlation-ID": string;
    "X-W3W-Plugin"?: string;
    "X-API-Key"?: string;
}
export declare enum SessionType {
    Started = "POST",
    Updated = "PATCH"
}
interface UtilisationSession {
    key: string;
    baseUrl: string;
    type: SessionType;
    headers: UtilisationSessionHeader;
    data?: UtilisationSessionData;
    transport?: Transport;
}
declare class Utilisation {
    private apiKey?;
    private host;
    /**
     * Sets the API Key
     * @param apiKey W3W API key
     */
    setApiKey(apiKey: string): void;
    /**
     * Allows overriding of utilisation api host (i.e: preprod, dev etc)
     * @param host utilisation api host
     */
    setHost(host: string): void;
    send(session: UtilisationSession): Promise<boolean>;
}
declare const _default: Utilisation;
export default _default;
