import Config from "./config";
import ClientInterface from "./httpClient/clientInterface";
/**
 * Main Adyen API Client class.
 * Handles configuration, authentication, and HTTP client setup for API requests.
 */
declare class Client {
    static TERMINAL_API_ENDPOINT_TEST: string;
    static TERMINAL_API_ENDPOINT_LIVE: string;
    static MARKETPAY_ENDPOINT_TEST: string;
    static MARKETPAY_ENDPOINT_LIVE: string;
    static MARKETPAY_ACCOUNT_API_VERSION: string;
    static MARKETPAY_FUND_API_VERSION: string;
    static MARKETPAY_HOP_API_VERSION: string;
    static MARKETPAY_NOTIFICATION_API_VERSION: string;
    static MARKETPAY_NOTIFICATION_CONFIGURATION_API_VERSION: string;
    private _httpClient;
    config: Config;
    /**
     * Constructs a new Client instance.
     * @param options - Configuration object
     */
    constructor(options: Config, httpClient?: ClientInterface);
    /**
     * Gets the HTTP client instance, creating a default one if not set.
     */
    get httpClient(): ClientInterface;
    /**
     * Sets a custom HTTP client.
     * @param httpClient - The HTTP client to use.
     */
    set httpClient(httpClient: ClientInterface);
    /**
     * Sets the application name in the config.
     * @param applicationName - The application name.
     */
    setApplicationName(applicationName: string): void;
    /**
     * Sets the connection timeout in milliseconds.
     * @param connectionTimeoutMillis - Timeout in milliseconds.
     */
    setTimeouts(connectionTimeoutMillis: number): void;
}
export default Client;
