import type { RequestOptions } from "./types";
import type { AxiosInstance, AxiosRequestConfig } from "axios";
export interface BaseClientOptions {
    url: string;
    apiPath: string;
    accessToken?: string;
    loginPath?: string;
    logoutPath?: string;
}
export declare class BaseClient {
    url: string;
    baseUrl: string;
    request: AxiosInstance;
    loginPath: string;
    logoutPath: string;
    accessToken: string | undefined;
    /**
     * @param options Client options
     */
    constructor(options: BaseClientOptions);
    prepareAxiosConfig(opts?: RequestOptions): AxiosRequestConfig;
    /**
     * Redirect to login page
     *
     * @param returnUrl Redirect url after login (default = null)
     */
    loginRedirect(returnUrl?: string | null): void;
    /**
     * Redirect to logout page
     *
     * @param returnUrl Redirect url after logout (default = null)
     */
    logoutRedirect(returnUrl?: string | null): void;
}
//# sourceMappingURL=base-client.d.ts.map