import type { AxiosError, AxiosPromise, AxiosRequestConfig } from 'axios';
import { TestFile } from './models/index.js';
export declare const getHeaders: ({ clientName, clientVersion, }: {
    clientName: string;
    clientVersion: string;
}) => {
    'KNAPSACK-PRO-CI-PROVIDER'?: string | undefined;
    'KNAPSACK-PRO-CLIENT-NAME': string;
    'KNAPSACK-PRO-CLIENT-VERSION': string;
};
export declare class KnapsackProAPI {
    private readonly api;
    private knapsackProLogger;
    constructor(clientName: string, clientVersion: string);
    fetchTestsFromQueue(allTestFiles: TestFile[], initializeQueue: boolean, attemptConnectToQueue: boolean): AxiosPromise<any>;
    createBuildSubset(recordedTestFiles: TestFile[]): AxiosPromise<any>;
    isExpectedErrorStatus(error: AxiosError): boolean;
    private setUpApiClient;
    private retryCondition;
    private isRetriableRequestError;
    private retryDelay;
    onMaxRetryTimesExceeded: (_error: Error, _retryCount: number) => void;
    onRetry: (retryCount: number, _error: AxiosError, requestConfig: AxiosRequestConfig) => Promise<void> | void;
}
