import { AxiosPromise } from 'axios'; import { OmiseError } from './models/Error'; export interface Config { omiseVersion?: '2019-05-29'; publicKey: string; secretKey: string; apiBaseUrl?: string; vaultBaseUrl?: string; } export declare abstract class Client { protected config: Config; protected abstract baseURL: string; protected get apiBaseUrl(): string; protected get vaultBaseUrl(): string; constructor(config: Config); protected abstract getKey(): string; protected getRequest(request: AxiosPromise): Promise; protected post(endpoint: string, data?: any, apiKey?: string, omiseVersion?: string): Promise; protected get(endpoint: string, params?: any, apiKey?: string, omiseVersion?: string): Promise; protected patch(endpoint: string, data?: any, apiKey?: string, omiseVersion?: string): Promise; protected put(endpoint: string, data?: any, apiKey?: string, omiseVersion?: string): Promise; protected delete(endpoint: string, data?: any, apiKey?: string, omiseVersion?: string): Promise; protected fileUpload(endpoint: string, data?: any, apiKey?: string, omiseVersion?: string): Promise; private buildConfigure; }