import Config from "./config";
import ClientInterface from "./httpClient/clientInterface";
type ClientParametersOverload = {
    config: Config;
} | {
    config: Config;
    httpClient: ClientInterface;
} | {
    username: string;
    password: string;
    environment: Environment;
} | {
    username: string;
    password: string;
    environment: Environment;
    httpClient: ClientInterface;
} | {
    username: string;
    password: string;
    environment: Environment;
    liveEndpointUrlPrefix: string;
} | {
    username: string;
    password: string;
    environment: Environment;
    liveEndpointUrlPrefix: string;
    httpClient: ClientInterface;
} | {
    username: string;
    password: string;
    environment: Environment;
    applicationName: string;
} | {
    username: string;
    password: string;
    environment: Environment;
    applicationName: string;
    httpClient: ClientInterface;
} | {
    username: string;
    password: string;
    environment: Environment;
    applicationName: string;
    liveEndpointUrlPrefix: string;
} | {
    username: string;
    password: string;
    environment: Environment;
    applicationName: string;
    liveEndpointUrlPrefix: string;
    httpClient: ClientInterface;
} | {
    apiKey: string;
    environment: Environment;
} | {
    apiKey: string;
    environment: Environment;
    httpClient: ClientInterface;
} | {
    apiKey: string;
    environment: Environment;
    liveEndpointUrlPrefix: string;
} | {
    apiKey: string;
    environment: Environment;
    liveEndpointUrlPrefix: string;
    httpClient: ClientInterface;
};
declare class Client {
    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;
    static TERMINAL_API_ENDPOINT_TEST: string;
    static TERMINAL_API_ENDPOINT_LIVE: string;
    private _httpClient;
    config: Config;
    liveEndpointUrlPrefix: string;
    constructor(clientParameters: ClientParametersOverload);
    setEnvironment(environment: Environment, liveEndpointUrlPrefix?: string): void;
    get httpClient(): ClientInterface;
    set httpClient(httpClient: ClientInterface);
    setApplicationName(applicationName: string): void;
    setTimeouts(connectionTimeoutMillis: number): void;
}
export default Client;
