import { ApiVersions } from '../twitch';
import { FetchOptions } from '../utils/fetch';
import { LoggerOptions } from '../utils/logger';
export declare type ApiOptions = {
    clientId?: string;
    token?: string;
    log?: LoggerOptions;
    onAuthenticationFailure?: () => Promise<string>;
};
export declare enum ApiReadyStates {
    'NOT_READY' = 0,
    'READY' = 1,
    'INITIALIZED' = 2
}
export declare type ApiSettings = {
    baseUrl: string;
    authorizationHeader: string;
};
export declare const Settings: Record<ApiVersions, ApiSettings>;
export declare type ApiHeaders = {
    'Client-ID': string;
    Accept?: string;
    Authorization?: string;
};
declare type ApiVersionOptions = {
    version?: ApiVersions;
};
export declare type ApiFetchOptions = FetchOptions & ApiVersionOptions;
export {};
