export type TrainingPeaksSDKConfig = {
    urls: {
        baseUrl: string;
        apiBaseUrl: string;
        loginUrl: string;
        appUrl: string;
        tokenUrl: string;
        userInfoUrl: string;
    };
    auth: {
        cookieName: string;
    };
    timeouts: {
        default: number;
        webAuth: number;
        apiAuth: number;
        elementWait: number;
        pageLoad: number;
        errorDetection: number;
        testExecution: number;
    };
    tokens: {
        refreshWindow: number;
        validationWindow: number;
        defaultExpiration: number;
    };
    browser: {
        headless: boolean;
        executablePath: string;
        launchTimeout: number;
        pageWaitTimeout: number;
    };
    debug: {
        enabled: boolean;
        level: 'debug' | 'info' | 'warn' | 'error';
        logAuth: boolean;
        logNetwork: boolean;
        logBrowser: boolean;
    };
    requests: {
        defaultHeaders: Record<string, string>;
        retryAttempts: number;
        retryDelay: number;
    };
};
export type TrainingPeaksClientConfig = {
    urls?: Partial<TrainingPeaksSDKConfig['urls']>;
    auth?: Partial<TrainingPeaksSDKConfig['auth']>;
    timeouts?: Partial<TrainingPeaksSDKConfig['timeouts']>;
    tokens?: Partial<TrainingPeaksSDKConfig['tokens']>;
    browser?: Partial<TrainingPeaksSDKConfig['browser']>;
    debug?: Partial<TrainingPeaksSDKConfig['debug']>;
    requests?: Partial<TrainingPeaksSDKConfig['requests']>;
};
export declare function mergeWithDefaultConfig(userConfig?: TrainingPeaksClientConfig): TrainingPeaksSDKConfig;
export declare function validateConfig(config: TrainingPeaksSDKConfig): void;
export declare function getSDKConfig(userConfig?: TrainingPeaksClientConfig): TrainingPeaksSDKConfig;
//# sourceMappingURL=config.d.ts.map