import { ITradingKeyData, TradingKeyView } from '@ultrade/shared/browser/interfaces';
import { ILoginData, ITransferData, IWithdrawData } from "@ultrade/shared/browser/interfaces";
import { CreateWithdrawalWallet, UpdateWithdrawalWallet } from "@ultrade/shared/browser/interfaces";
import { ISafeWithdrawalWallets } from "@ultrade/shared/browser/interfaces";
import { SocketManager } from "./sockets";
import { AuthCredentials, ClientOptions, CancelOrderArgs, CreateSpotOrderArgs, Signer, SubscribeOptions, TelegramData, WalletCredentials, UserNotification, IPairDto, IGetDepth, SettingsInit, IGetLastTrades, CodexBalanceDto, IOrderDto, Order, Chain, MappedCCTPAssets, CCTPUnifiedAssets, IGetKycStatus, IGetKycInitLink, IGetDollarValues, ITransactionDetails, IClient, IGetPrice, IGetSymbols, IGetHistoryResponse, IWithdrawalFee, ITradingKey, ITransfer, IPendingTxn, IGetWhiteList, IWhiteList, ISystemVersion, ISystemMaintenance, IUnreadNotificationsCount, UpdateUserNotificationDto, IAffiliateDashboardStatus, IAffiliateProgress, DashboardInfo, ISocialAccount, ILeaderboardItem, IUnlock, IAction, IActionHistory, ISocialSettings, ISocialSeason, ITelegramConnectResponse, ICompanyTweet, IAIStyle, IAIGeneratedComment, IWithdrawResponse, IRevokeTradingKeyResponse, ICancelOrderResponse, ICancelMultipleOrdersResponse, CodexAsset, IGetWalletTransactions, IGetTransfers, IPreparedGetWhiteList } from "./interface/index.ts";
import { ACTION_TYPE, STREAMS } from "./enum/index.ts";
export declare class Client implements IClient {
    private client;
    private algodNode;
    private algodIndexer;
    private apiUrl;
    private companyId;
    private websocketUrl;
    private wallet;
    private _axios;
    private localStorageService;
    private isUltradeID;
    socketManager: SocketManager;
    constructor(options: ClientOptions, authCredentials?: AuthCredentials);
    private axiosInterceptor;
    get useUltradeID(): boolean;
    set useUltradeID(isUltrade: boolean);
    get isLogged(): boolean;
    get mainWallet(): WalletCredentials | null;
    set mainWallet(wallet: WalletCredentials);
    setSigner(signer: Signer): void;
    subscribe(subscribeOptions: SubscribeOptions, callback: Function): number;
    unsubscribe(handlerId: number): void;
    getPairList(companyId?: number): Promise<IPairDto[]>;
    getPair(symbol: string | number): Promise<IPairDto>;
    getPrice(symbol: string): Promise<IGetPrice>;
    getDepth(symbol: string, depth: number): Promise<IGetDepth>;
    getSymbols(mask?: string): Promise<IGetSymbols>;
    getLastTrades(symbol: string): Promise<IGetLastTrades[]>;
    getHistory(symbol: string, interval: string, startTime?: number, endTime?: number, limit?: number, page?: number): Promise<IGetHistoryResponse>;
    getOrders(symbol?: string, status?: number, limit?: number, endTime?: number, startTime?: number): Promise<IOrderDto[]>;
    getOrderById(orderId: number): Promise<Order>;
    getSettings(): Promise<SettingsInit>;
    getBalances(): Promise<CodexBalanceDto[]>;
    getChains(): Promise<Chain[]>;
    getCodexAssets(): Promise<CodexAsset[]>;
    getCCTPAssets(): Promise<MappedCCTPAssets>;
    getCCTPUnifiedAssets(): Promise<CCTPUnifiedAssets[]>;
    getWithdrawalFee(assetAddress: string, chainId: number): Promise<IWithdrawalFee>;
    getKycStatus(): Promise<IGetKycStatus>;
    getKycInitLink(embeddedAppUrl: string | null): Promise<IGetKycInitLink>;
    getDollarValues(assetIds?: number[]): Promise<IGetDollarValues>;
    getTransactionDetalis(transactionId: number): Promise<ITransactionDetails>;
    getWalletTransactions(type: ACTION_TYPE, page: number, limit?: number): Promise<IGetWalletTransactions>;
    getTradingKeys(): Promise<ITradingKey[]>;
    getTransfers(page: number, limit?: number): Promise<IGetTransfers>;
    getPendingTransactions(): Promise<IPendingTxn[]>;
    getWhitelist(): Promise<IPreparedGetWhiteList>;
    addWhitelist(data: IWhiteList): Promise<IGetWhiteList>;
    deleteWhitelist(whitelistId: number): Promise<void>;
    getAllWithdrawalWallets(): Promise<ISafeWithdrawalWallets[]>;
    getWithdrawalWalletByAddress(address: string): Promise<ISafeWithdrawalWallets>;
    createWithdrawalWallet(body: CreateWithdrawalWallet): Promise<ISafeWithdrawalWallets>;
    updateWithdrawalWallet(params: UpdateWithdrawalWallet): Promise<boolean>;
    deleteWithdrawalWallet(address: string): Promise<boolean>;
    getVersion(): Promise<ISystemVersion>;
    getMaintenance(): Promise<ISystemMaintenance>;
    getNotifications(): Promise<UserNotification[]>;
    getNotificationsUnreadCount(): Promise<IUnreadNotificationsCount>;
    readNotifications(notifications: UpdateUserNotificationDto[]): Promise<UpdateUserNotificationDto[]>;
    getAffiliatesStatus(companyId: number): Promise<IAffiliateDashboardStatus>;
    createAffiliate(companyId: number): Promise<DashboardInfo>;
    getAffiliateProgress(companyId: number): Promise<IAffiliateProgress>;
    getAffiliateInfo(companyId: number, range: string): Promise<DashboardInfo>;
    countAffiliateDepost(companyId: number): Promise<void>;
    countAffiliateClick(referralToken: string): Promise<void>;
    getSocialAccount(): Promise<ISocialAccount | undefined>;
    addSocialEmail(email: string, embeddedAppUrl: string): Promise<void>;
    verifySocialEmail(email: string, hash: string): Promise<void>;
    getLeaderboards(): Promise<ILeaderboardItem[]>;
    getUnlocks(): Promise<IUnlock[]>;
    getSocialSettings(): Promise<ISocialSettings>;
    getSeason(ultradeId?: number): Promise<ISocialSeason>;
    getPastSeasons(): Promise<ISocialSeason[]>;
    addTelegram(data: TelegramData): Promise<ITelegramConnectResponse>;
    disconnectTelegram(data: TelegramData): Promise<void>;
    getDiscordConnectionUrl(url: string): Promise<string>;
    disconnectDiscord(): Promise<void>;
    getTwitterConnectionUrl(appUrl: string, permissions?: string): Promise<string>;
    disconnectTwitter(): Promise<void>;
    getTweets(): Promise<ICompanyTweet[]>;
    actionWithTweet(data: {
        actions: Array<{
            id: number;
            text?: string;
        }>;
        tweetId?: string;
    }): Promise<void>;
    getActions(): Promise<IAction[]>;
    getActionHistory(): Promise<IActionHistory[]>;
    getAIStyles(): Promise<IAIStyle[]>;
    getAIComment(styleId: number, tweetId: string): Promise<IAIGeneratedComment>;
    private getTechnologyByProvider;
    login({ address, provider, chain, referralToken, loginMessage }: ILoginData): Promise<string>;
    addTradingKey(data: ITradingKeyData): Promise<TradingKeyView>;
    revokeTradingKey(data: ITradingKeyData): Promise<IRevokeTradingKeyResponse>;
    withdraw(withdrawData: IWithdrawData, prettyMsg?: string): Promise<IWithdrawResponse>;
    transfer(transferData: ITransferData): Promise<ITransfer>;
    createSpotOrder(order: CreateSpotOrderArgs): Promise<IOrderDto>;
    cancelOrder(order: CancelOrderArgs): Promise<ICancelOrderResponse>;
    cancelMultipleOrders({ orderIds, pairId }: {
        orderIds?: number[];
        pairId?: number;
    }): Promise<ICancelMultipleOrdersResponse>;
    ping(): Promise<number>;
    getSocketSubscribeOptions(streams: STREAMS[], pairKey?: string): SubscribeOptions | null;
}
