import MetaApiClient from '../metaApi.client';
import HttpClient from '../httpClient';
import DomainClient from '../domain.client';
/**
 * metaapi.cloud client API client (see https://metaapi.cloud/docs/client/)
 */
export default class ClientApiClient extends MetaApiClient {
    private _retryIntervalInSeconds;
    private _updateInterval;
    private _ignoredFieldListsCaches;
    private _ignoredFieldListsFreshestCache;
    private _logger;
    /**
     * Constructs client API client instance
     * @param {HttpClient} httpClient HTTP client
     * @param {DomainClient} domainClient domain client
     */
    constructor(httpClient: HttpClient, domainClient: DomainClient);
    /**
     * Type hashing ignored field lists
     * @typedef {Object} TypeHashingIgnoredFieldLists
     * @property {String[]} specification specification ignored fields
     * @property {String[]} position position ignored fields
     * @property {String[]} order order ignored fields
     */
    /**
     * Hashing ignored field lists
     * @typedef {Object} HashingIgnoredFieldLists
     * @property {TypeHashingIgnoredFieldLists} g1 g1 hashing ignored field lists
     * @property {TypeHashingIgnoredFieldLists} g2 g2 hashing ignored field lists
     */
    /**
     * Refreshes hashing ignored field lists
     * @param {String} region account region
     * @returns {Promise} promise resolving when the hashing field lists are updated.
     */
    refreshIgnoredFieldLists(region: string): Promise<any>;
    /**
     * Retrieves hashing ignored field lists
     * @param {String} region account region
     * @returns {HashingIgnoredFieldLists} promise resolving with hashing ignored field lists
     */
    getHashingIgnoredFieldLists(region: string): HashingIgnoredFieldLists;
    _refreshIgnoredFieldListsJob(region: any): Promise<void>;
}
/**
 * Type hashing ignored field lists
 */
export declare type TypeHashingIgnoredFieldLists = {
    /**
     * specifications ignored fields
     */
    specification: string[];
    /**
     * position ignored fields
     */
    position: string[];
    /**
     * order ignored fields
     */
    order: string[];
};
/**
 * Hashing ignored field lists
 */
export declare type HashingIgnoredFieldLists = {
    /**
     * g1 hashing ignored field lists
     */
    g1: TypeHashingIgnoredFieldLists;
    /**
     * g2 hashing ignored field lists
     */
    g2: TypeHashingIgnoredFieldLists;
};
