import { TokenData, WebSocketV2 } from '@thoshpathi/smartapi-javascript';
import { SmartApiEnhanced } from './smartapi_enhanced.mjs';
import './ohlc_data.mjs';
import '@thoshpathi/utils-core';

interface Configs {
    apiRetryDelayMs: number;
    apiTimeoutMs: number;
}
interface BrokerData {
    clientId: string;
    apiKey: string;
    connectAt?: Date;
}
interface BrokerTokenData extends BrokerData, TokenData {
}

declare function getLoggedSmartapi(params: {
    brokerData: BrokerTokenData;
    configs?: Configs;
}): Promise<SmartApiEnhanced | undefined>;
declare function getSmartapi(params: {
    brokerData: BrokerData;
    configs?: Configs;
}): SmartApiEnhanced | undefined;
declare function getLoggedWebsocket(brokerData: BrokerTokenData): Promise<WebSocketV2 | undefined>;

export { getLoggedSmartapi as default, getLoggedSmartapi, getLoggedWebsocket, getSmartapi };
