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 { ReportService } from "./reportService.js";
import { SubscriptionService } from "./subscriptionService.js";
import { SystemService } from "./systemService.js";
import { TradingService } from "./tradingService.js";
import { UserService } from "./userService.js";
import { WalletService } from "./walletService.js";
import { QuoteService } from "./quoteService.js";
import { WebsocketConnectionConfiguration } from "../core/websocket/websocketConnectionConfiguration.js";
export declare class NotbankClient {
    accountService: AccountService;
    authService: AuthService;
    feeService: FeeService;
    instrumentService: InstrumentService;
    productService: ProductService;
    reportService: ReportService;
    getSubscriptionService: () => SubscriptionService;
    systemService: SystemService;
    tradingService: TradingService;
    userService: UserService;
    walletService: WalletService;
    quoteService: QuoteService;
    authenticateUser: (params: {
        ApiPublicKey: string;
        ApiSecretKey: string;
        UserId: string;
    }) => Promise<void>;
    connect: () => Promise<void>;
    close: () => Promise<void>;
    constructor(params: {
        accountService: AccountService;
        authService: AuthService;
        feeService: FeeService;
        instrumentService: InstrumentService;
        productService: ProductService;
        reportService: ReportService;
        getSubscriptionService: () => SubscriptionService;
        systemService: SystemService;
        tradingService: TradingService;
        userService: UserService;
        walletService: WalletService;
        quoteService: QuoteService;
        authenticate: (authParams: {
            ApiPublicKey: string;
            ApiSecretKey: string;
            UserId: string;
        }) => Promise<void>;
        connect: () => Promise<void>;
        close: () => Promise<void>;
    });
    static Factory: {
        new (): {};
        createRestClient(domain?: string): 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;
}
