import { ServiceConnection } from "../core/serviceClient.js";
import { WebsocketConnectionConfiguration } from "../core/websocket/websocketConnectionConfiguration.js";
import { AccountService } from "./accountService.js";
import { AuthService } from "./authService.js";
import { FeeService } from "./feeService.js";
import { InstrumentService } from "./instrumentService.js";
import { ProductService } from "./productService.js";
import { QuoteService } from "./quoteService.js";
import { RegisterService } from "./registerService.js";
import { ReportService } from "./reportService.js";
import { YieldService } from "./yieldService.js";
import { SubAccountService } from "./subAccountService.js";
import { SubscriptionService } from "./subscriptionService.js";
import { SystemService } from "./systemService.js";
import { TradingService } from "./tradingService.js";
import { UserService } from "./userService.js";
import { VerificationService } from "./verificationService.js";
import { WalletService } from "./walletService.js";
import { RequestData } from "../core/http/jsonRequester.js";
import { AxiosResponse } from "axios";
export declare class NotbankClient {
    connection: ServiceConnection;
    accountService: AccountService;
    authService: AuthService;
    feeService: FeeService;
    instrumentService: InstrumentService;
    productService: ProductService;
    reportService: ReportService;
    getSubscriptionService: () => SubscriptionService;
    systemService: SystemService;
    tradingService: TradingService;
    userService: UserService;
    walletService: WalletService;
    quoteService: QuoteService;
    registerService: RegisterService;
    verificationService: VerificationService;
    yieldService: YieldService;
    subAccountService: SubAccountService;
    authenticateUser: (params: {
        ApiPublicKey: string;
        ApiSecretKey: string;
        UserId: number;
    }) => Promise<void>;
    updateSessionToken: (token: string) => void;
    connect: () => Promise<void>;
    close: () => Promise<void>;
    constructor(params: {
        connection: ServiceConnection;
        accountService: AccountService;
        authService: AuthService;
        feeService: FeeService;
        instrumentService: InstrumentService;
        productService: ProductService;
        reportService: ReportService;
        getSubscriptionService: () => SubscriptionService;
        systemService: SystemService;
        tradingService: TradingService;
        userService: UserService;
        walletService: WalletService;
        quoteService: QuoteService;
        registerService: RegisterService;
        verificationService: VerificationService;
        yieldService: YieldService;
        subAccountService: SubAccountService;
        authenticate: (authParams: {
            ApiPublicKey: string;
            ApiSecretKey: string;
            UserId: number;
        }) => Promise<void>;
        updateSessionToken: (token: string) => void;
        connect: () => Promise<void>;
        close: () => Promise<void>;
    });
    static Factory: {
        new (): {};
        createRestClient(domain?: string, peekRequest?: (data: RequestData<any>) => void, peekResponse?: (response: AxiosResponse<any>) => void): NotbankClient;
        createWebsocketClient(configuration?: WebsocketConnectionConfiguration): NotbankClient;
    };
    getAccountService(): AccountService;
    getAuthService(): AuthService;
    getFeeService(): FeeService;
    getInstrumentService(): InstrumentService;
    getProductService(): ProductService;
    getReportService(): ReportService;
    getSystemService(): SystemService;
    getTradingService(): TradingService;
    getUserService(): UserService;
    getWalletService(): WalletService;
    getQuoteService(): QuoteService;
    getRegisterService(): RegisterService;
    getVerificationService(): VerificationService;
    getYieldService(): YieldService;
    getSubAccountService(): SubAccountService;
    getConnection(): ServiceConnection;
}
