import LogConfiguration from './authentication/logging/LogConfiguration';
export interface ConfigurationParameters {
    apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
    username?: string;
    password?: string;
    accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
    basePath?: string;
    baseOptions?: any;
    authenticationType?: string;
    url?: string;
    requestHost?: string;
    requestJsonPath?: string;
    merchantID?: string;
    requestType?: string;
    requestTarget?: string;
    requestJsonData?: Record<string, unknown>;
    keysDirectory?: string;
    keyAlias?: string;
    keyPass?: string;
    keyType?: string;
    keyFilename?: string;
    useHttpClient?: boolean;
    /**
     * your shared secret key ID
     * @type {string}
     * @memberof Configuration
     */
    merchantKeyId?: string;
    /**
     * your shared secret key
     * @type {string}
     * @memberof Configuration
     */
    merchantsecretKey?: string;
    useMetaKey?: boolean;
    portfolioID?: string;
    enableClientCert?: boolean;
    clientCertDir?: string;
    sslClientCert?: string;
    privateKey?: string;
    runEnvironment?: string;
    intermediateHost?: string;
    solutionId?: string;
    logConfiguration?: LogConfiguration;
}
export declare class Configuration {
    /**
     * parameter for apiKey security
     * @param name security name
     * @memberof Configuration
     */
    apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
    /**
     * parameter for basic security
     *
     * @type {string}
     * @memberof Configuration
     */
    username?: string;
    /**
     * parameter for basic security
     *
     * @type {string}
     * @memberof Configuration
     */
    password?: string;
    /**
     * parameter for oauth2 security
     * @param name security name
     * @param scopes oauth2 scope
     * @memberof Configuration
     */
    accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
    /**
     * override base path
     *
     * @type {string}
     * @memberof Configuration
     */
    basePath?: string;
    /**
     * base options for axios calls
     *
     * @type {any}
     * @memberof Configuration
     */
    baseOptions?: any;
    authenticationType?: string;
    url?: string;
    requestHost?: string;
    requestJsonPath?: string;
    merchantID?: string;
    requestType?: string;
    requestTarget?: string;
    requestJsonData?: Record<string, unknown>;
    keysDirectory?: string;
    keyAlias?: string;
    keyPass?: string;
    keyType?: string;
    keyFilename?: string;
    useHttpClient?: boolean;
    /**
     * your shared secret key ID
     * @type {string}
     * @memberof Configuration
     */
    merchantKeyId?: string;
    /**
     * your shared secret key
     * @type {string}
     * @memberof Configuration
     */
    merchantsecretKey?: string;
    useMetaKey?: boolean;
    portfolioID?: string;
    enableClientCert?: boolean;
    clientCertDir?: string;
    sslClientCert?: string;
    privateKey?: string;
    runEnvironment?: string;
    intermediateHost?: string;
    solutionId?: string;
    logConfiguration?: LogConfiguration;
    constructor(param?: ConfigurationParameters);
}
