/**
 * Stock Module
 * Provides data access interfaces for stocks
 */
import { Client, ClientOptions } from '../../utils/client';
import { APIResponse, StockInfo, StockIPO, StockSplit } from '../../types';
import { TickData, TickDataMap } from '../../types/tick';
import { QuoteData, QuoteDataMap } from '../../types/quote';
import { DepthData, DepthDataMap } from '../../types/depth';
import { KlineData, KlineDataMap, GetKlineOptions, GetKlinesOptions } from '../../types/kline';
import { CreateSocketOptions } from '../../types/socket';
import SocketClient from '../../utils/SocketClient';
/**
 * Stock SDK Client
 * Specialized for stock data access
 */
export declare class StockClient extends Client {
    constructor(token: string, options?: ClientOptions);
    /**
     * Get Stock Information
     * @description Query basic stock information based on market code and symbol code
     * @param params - Query parameters object
     * @param params.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-info Official Documentation} for complete supported list
     * @param params.code - Stock code (e.g., AAPL, MSFT etc.)
     * @param params.exchange - Optional Exchange code (e.g., NYSE, NASDAQ etc.)
     * @returns Promise wrapped standard API response, data is stock information data {@link StockInfo}
     * @example
     * ```typescript
     * // Get Apple Inc. stock information
     * getInfo({ region: 'US', code: 'AAPL' }).then(response => {
     *     console.log('Stock information:', response.data);
     *   }).catch(err => {
     *     console.error('Failed to get stock information:', err);
     *   });
     * ```
     */
    getInfo(params: {
        region: string;
        code: string;
        exchange?: string;
    }): Promise<APIResponse<StockInfo>>;
    /**
     * Get Stock IPO Information
     * @description Query stock initial public offering information based on market code and symbol code
     * @param params - Query parameters object
     * @param params.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-ipo Official Documentation} for complete supported list
     * @param params.code - Stock code (e.g., AAPL, MSFT etc.)
     * @returns Promise wrapped standard API response, data is stock IPO information data {@link StockIPO}
     * @example
     * ```typescript
     * // Get Apple Inc. IPO information
     * getIPO({ region: 'US', code: 'AAPL' }).then(response => {
     *     console.log('IPO information:', response.data);
     *   }).catch(err => {
     *     console.error('Failed to get IPO information:', err);
     *   });
     * ```
     */
    getIPO(params: {
        region: string;
        code: string;
    }): Promise<APIResponse<StockIPO>>;
    /**
     * Get Stock Adjustment Factor Information
     * @description Query stock ex-rights and ex-dividend information based on market code and symbol code
     * @param params - Query parameters object
     * @param params.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-split Official Documentation} for complete supported list
     * @param params.code - Stock code (e.g., AAPL, MSFT etc.)
     * @returns Promise wrapped standard API response, data is stock adjustment factor information data {@link StockSplit}
     * @example
     * ```typescript
     * // Get Apple Inc. adjustment information
     * getSplit({ region: 'US', code: 'AAPL' }).then(response => {
     *     console.log('Adjustment information:', response.data);
     *   }).catch(err => {
     *     console.error('Failed to get adjustment information:', err);
     *   });
     * ```
     */
    getSplit(params: {
        region: string;
        code: string;
    }): Promise<APIResponse<StockSplit>>;
    /**
     * Get Stock Real-Time Trade Snapshot
     * @description Query latest trade real-time market data for stock based on market code and symbol code
     * @param params - Query parameters object
     * @param params.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-tick Official Documentation} for complete supported list
     * @param params.code - Stock code (e.g., AAPL, MSFT etc.)
     * @returns Promise wrapped standard API response, data is real-time market data {@link TickData}
     * @example
     * ```typescript
     * // Get real-time trade market data for Apple Inc. stock
     * getTick({ region: 'US', code: 'AAPL' }).then(response => {
     *     console.log('Real-time market:', response.data);
     *   }).catch(err => {
     *     console.error('Failed to get market data:', err);
     *   });
     * ```
     */
    getTick(params: {
        region: string;
        code: string;
    }): Promise<APIResponse<TickData>>;
    /**
     * Get Stock Latest Quote
     * @description Query latest quote real-time market data for stock based on market code and symbol code
     * @param params - Query parameters object
     * @param params.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-quote Official Documentation} for complete supported list
     * @param params.code - Stock code (e.g., AAPL, MSFT etc.)
     * @returns Promise wrapped API response, data is latest quote data {@link QuoteData}
     * @example
     * ```typescript
     * // Get latest quote for Apple Inc. stock
     * getQuote({ region: 'US', code: 'AAPL' }).then(response => {
     *    console.log('Latest quote:', response.data);
     * }).catch(err => {
     *   console.error('Failed to get quote:', err);
     * });
     * ```
     */
    getQuote(params: {
        region: string;
        code: string;
    }): Promise<APIResponse<QuoteData>>;
    /**
     * Get Stock Latest Order Book
     * @description Query latest order book data for stock based on market code and symbol code
     * @param params - Query parameters object
     * @param params.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-depth Official Documentation} for complete supported list
     * @param params.code - Stock code (e.g., AAPL, MSFT etc.)
     * @returns Promise wrapped API response, data is latest order book data {@link DepthData}
     * @example
     * ```typescript
     * // Get latest order book for Apple Inc. stock
     * getDepth({ region: 'US', code: 'AAPL' }).then(response => {
     *   console.log('Latest order book:', response.data);
     * }).catch(err => {
     *  console.error('Failed to get order book:', err);
     * });
     * ```
     */
    getDepth(params: {
        region: string;
        code: string;
    }): Promise<APIResponse<DepthData>>;
    /**
     * Get Stock K-Line Data
     * @description Query stock K-line data based on market code, symbol code, K-line period, end time and number of records to return
     * @param options - Query parameters object {@link GetKlineOptions}
     * @param options.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-kline Official Documentation} for complete supported list
     * @param options.code - Stock code (e.g., AAPL, MSFT etc.)
     * @returns Promise wrapped API response, data is K-line data array {@link KlineData}
     * @example
     * ```typescript
     * // Get 5-minute K-line data for Apple Inc. stock
     * getKline({ region: 'US', code: 'AAPL', interval: '5m', limit: 100 }).then(response => {
     *   console.log('K-line data:', response.data);
     * }).catch(err => {
     *  console.error('Failed to get K-line data:', err);
     * });
     * ```
     */
    getKline(options: GetKlineOptions): Promise<APIResponse<KlineData[]>>;
    /**
     * Get Multiple Stocks Latest Trades
     * @description Query latest trade real-time market data for multiple stocks based on market code and symbol code list
     * @param params - Query parameters object
     * @param params.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-ticks Official Documentation} for complete supported list
     * @param params.codes - Symbol code list (e.g., AAPL, MSFT etc.)
     * @returns Promise wrapped API response, data is multiple stocks latest trade data object {@link TickDataMap}
     * @example
     * ```typescript
     * // Get latest trade market data for Apple Inc. and Microsoft Corp.
     * getTicks({ region: 'US', codes: ['AAPL', 'MSFT'] }).then(response => {
     *  console.log('Latest trades:', response.data);
     * }).catch(err => {
     * console.error('Failed to get trade market data:', err);
     * });
     * ```
     */
    getTicks(params: {
        region: string;
        codes: string[] | string;
    }): Promise<APIResponse<TickDataMap>>;
    /**
     * Get Multiple Stocks Latest Quotes
     * @description Query latest quote real-time market data for multiple stocks based on market code and symbol code list
     * @param params - Query parameters object
     * @param params.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-quotes Official Documentation} for complete supported list
     * @param params.codes - Symbol code list (e.g., AAPL, MSFT etc.)
     * @returns Promise wrapped API response, data is multiple stocks latest quote data object {@link QuoteDataMap}
     * @example
     * ```typescript
     * // Get latest quotes for Apple Inc. and Microsoft Corp.
     * getQuotes({ region: 'US', codes: ['AAPL', 'MSFT'] }).then(response => {
     * console.log('Latest quotes:', response.data);
     * }).catch(err => {
     * console.error('Failed to get quotes:', err);
     * });
     * ```
     */
    getQuotes(params: {
        region: string;
        codes: string[] | string;
    }): Promise<APIResponse<QuoteDataMap>>;
    /**
     * Get Multiple Stocks Latest Order Books
     * @description Query latest order book real-time market data for multiple stocks based on market code and symbol code list
     * @param params - Query parameters object
     * @param params.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-depths Official Documentation} for complete supported list
     * @param params.codes - Symbol code list (e.g., AAPL, MSFT etc.)
     * @returns Promise wrapped API response, data is multiple stocks latest order book data object {@link DepthDataMap}
     * @example
     * ```typescript
     * // Get latest order books for Apple Inc. and Microsoft Corp.
     * getDepths({ region: 'US', codes: ['AAPL', 'MSFT'] }).then(response => {
     * console.log('Latest order books:', response.data);
     * }).catch(err => {
     * console.error('Failed to get order books:', err);
     * });
     * ```
     */
    getDepths(params: {
        region: string;
        codes: string[] | string;
    }): Promise<APIResponse<DepthDataMap>>;
    /**
     * Get Multiple Stocks K-Line Data
     * @description Query K-line data for multiple stocks based on market code, symbol code list, K-line period, end time and number of records to return
     * @param options - Query parameters object {@link GetKlinesOptions}
     * @param options.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-klines Official Documentation} for complete supported list
     * @param options.codes - Symbol code list (e.g., AAPL, MSFT etc.)
     * @returns Promise wrapped API response, data is multiple stocks K-line data object {@link KlineDataMap}
     * @example
     * ```typescript
     * // Get 5-minute K-line data for Apple Inc. and Microsoft Corp.
     * getKlines({ region: 'US', codes: ['AAPL', 'MSFT'], kType: '5m', limit: 100 }).then(response => {
     *  console.log('K-line data:', response.data);
     * }).catch(err => {
     * console.error('Failed to get K-line data:', err);
     * });
     * ```
     */
    getKlines(options: GetKlinesOptions): Promise<APIResponse<KlineDataMap>>;
    /**
     * Create WebSocket Connection
     * @description Creates a WebSocket connection and returns a SocketClient object for managing connection and subscribing to real-time data. Subscription data can be specified through options parameter.
     * Automatically handles connection retry and heartbeat mechanism to ensure connection stability and reliability.
     * @param options - Optional options object for creating WebSocket connection {@link CreateSocketOptions}
     * @returns SocketClient object for managing WebSocket connection
     * @example
     * ```typescript
     * // Create a WebSocket connection and subscribe to latest tick and quote market data for Apple and Microsoft
     * const client = new StockClient(token);
     * const socket = client.createSocket({
     *  subscribeData: {
     *    codes: ['AAPL$US', 'MSFT$US'],
     *    types: ['tick','quote']
     *  }
     * });
     * socket.onSocketMessage(data => {
     *  console.log('Received WebSocket message:', data);
     * });
     * ```
     * @see Official Documentation https://docs.itick.org/websocket/stocks
     */
    createSocket(options?: CreateSocketOptions): SocketClient;
}
//# sourceMappingURL=index.d.ts.map