import { OkxNetworks, Token, Tokens } from '../../types';
import { OkxConstructor } from './types';
interface ExecWithdrawParams {
    walletAddress: string;
    token: Token | Tokens;
    network: OkxNetworks;
    minAmount?: number;
}
export declare class Okx {
    private readonly logger?;
    private readonly okxController;
    private readonly random;
    private readonly amount;
    private readonly secrets;
    private static instance;
    private readonly hideExtraLogs;
    constructor({ logger, random, amount, hideExtraLogs }: OkxConstructor);
    static getInstance(props: OkxConstructor): Okx;
    private getChainName;
    private getWithdrawAmount;
    private setOkxController;
    private authGuard;
    checkNetConnection(token: string, network: string, sleepTime?: number): Promise<void>;
    getWithdrawFee(token: string, network: string, inputNetwork: OkxNetworks): Promise<any>;
    execWithdraw({ walletAddress, token, network, minAmount }: ExecWithdrawParams): Promise<void>;
    private getAccountOKX;
    private getSignature;
    private getAuthHeaders;
    private transferBalanceFromSubToMain;
    private getSubAccountBalaces;
    transferFromSubAccs(): Promise<void>;
}
export {};
