import { ApiClientConfiguration } from './client.model'; import { Transport, TransportResponse } from '../transport'; export declare abstract class ApiClient { private _apiKey; protected abstract url: string; protected abstract method: 'get' | 'post'; protected _config: ApiClientConfiguration; private static DEFAULT_CONFIG; private transport; constructor(_apiKey?: string, config?: ApiClientConfiguration, transport?: Transport); apiKey(apiKey?: string): this | string; config(config?: ApiClientConfiguration): this | ApiClientConfiguration; run(options?: Params | (Params & { format?: 'json'; })): Promise; run(options: Params & { format: 'geojson'; }): Promise; protected makeClientRequest(method: 'get' | 'post', url: string, params?: { headers?: { [key: string]: string; }; body?: { [key: string]: any; } | null; query?: { [key: string]: string; }; }): Promise>; protected getClientRequest(method: 'get' | 'post', url: string, params?: { headers?: { [key: string]: string; }; body?: { [key: string]: any; } | null; query?: { [key: string]: string; }; }): { method: "get" | "post"; host: string; url: string; query: { key: string; }; headers: { 'X-W3W-Wrapper': string; 'X-Api-Key': string; }; body: { [key: string]: any; } | null; }; protected validate(options?: Params): Promise<{ valid: boolean; message?: string; }>; protected headers(options?: Params): {}; protected body(options?: Params): null; protected query(options?: Params): {}; }