import { AxiosRequestConfig } from 'axios';
export interface BasicAuthenticationData {
    type: 'basic';
    username: string;
    password: string;
}
export interface BearerAuthenticationData {
    type: 'bearer';
    token: string;
}
export interface CustomAuthenticationData {
    type: 'custom';
    headers: (url: string) => {
        headers: {
            [header: string]: string;
        };
    };
}
export type AuthenticationData = BasicAuthenticationData | BearerAuthenticationData | CustomAuthenticationData;
export declare class AuthConfig {
    static _authentication?: AuthenticationData;
    static set authentication(authentication: AuthenticationData | undefined);
    static get authentication(): AuthenticationData | undefined;
    static createAxiosRequestConfig(url: string, authentication?: AuthenticationData): AxiosRequestConfig;
}
