import * as AxiosLib from 'axios';
import { HttpClient } from './http_client.port.cjs';

declare const AxiosHttpClient: (options?: {
    name?: string | undefined;
    logOptions?: {
        id?: string | undefined;
        logFileEnabled?: boolean | undefined;
        logPath?: string | undefined;
        logFilePrefix?: string | undefined;
        minDumpSizeKB?: number | undefined;
        maxDumpSizeKB?: number | undefined;
        maxDebugDepth?: number | undefined;
        logLevelOptions?: {
            consoleMin?: "error" | "debug" | "info" | "silent" | "trace" | "warn" | "fatal" | undefined;
            dumpMax?: "error" | "debug" | "info" | "silent" | "trace" | "warn" | "fatal" | undefined;
            syncLogger?: boolean | undefined;
        } | undefined;
        allowedKeywords?: (string | undefined)[] | undefined;
        debugging?: "none" | "verbose" | "short" | undefined;
        bannedKeywords?: (string | undefined)[] | undefined;
    } | undefined;
    logLevel?: "error" | "debug" | "info" | "silent" | "trace" | "warn" | "fatal" | undefined;
    customResponseHandler?: (<T>(response: T) => Promise<T>) | undefined;
    customErrorHandler?: ((error: AxiosLib.AxiosError) => Promise<unknown>) | undefined;
} | undefined) => HttpClient<AxiosLib.AxiosInstance>;

export { AxiosHttpClient };
