import { AxiosInstance, AxiosRequestConfig } from 'axios';
export declare class BagsApiClient {
    private client;
    constructor(apiKey: string, baseUrl?: string, options?: Partial<AxiosRequestConfig>);
    private handleResponse;
    get<T>(url: string, config?: AxiosRequestConfig): Promise<T>;
    post<T>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
    put<T>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
    delete<T>(url: string, config?: AxiosRequestConfig): Promise<T>;
}
export declare class ApiError extends Error {
    url: string;
    method?: string;
    status?: number;
    data?: any;
    constructor(message: string, config: AxiosRequestConfig, status?: number, data?: any);
}
export declare function createBagsAxiosInstance(baseUrl: string, apiKey: string, additionalAxiosConfig?: Partial<AxiosRequestConfig>): AxiosInstance;
//# sourceMappingURL=bags-client.d.ts.map