import { SmartAPIConfig } from '../types';
import { Auth } from '../modules/auth';
import { Orders } from '../modules/orders';
import { GTT } from '../modules/gtt';
import { Portfolio } from '../modules/portfolio';
import { Brokerage } from '../modules/brokerage';
import { MarketData } from '../modules/misc';
import { Instruments } from '../modules/instruments';
/**
 * SmartAPI client for interacting with Angel One broker API
 */
export declare class SmartAPI {
    private httpClient;
    private debug;
    private _auth;
    private _orders;
    private _gtt;
    private _portfolio;
    private _brokerage;
    private _marketData;
    private _instruments;
    login: typeof Auth.prototype.login;
    generateSession: typeof Auth.prototype.generateSession;
    getFeedToken: typeof Auth.prototype.getFeedToken;
    logout: typeof Auth.prototype.logout;
    getProfile: typeof Auth.prototype.getProfile;
    placeOrder: typeof Orders.prototype.placeOrder;
    placeBracketOrder: typeof Orders.prototype.placeBracketOrder;
    placeCoverOrder: typeof Orders.prototype.placeCoverOrder;
    modifyOrder: typeof Orders.prototype.modifyOrder;
    cancelOrder: typeof Orders.prototype.cancelOrder;
    getOrderBook: typeof Orders.prototype.getOrderBook;
    getTradeBook: typeof Orders.prototype.getTradeBook;
    getPositions: typeof Portfolio.prototype.getPositions;
    getHoldings: typeof Portfolio.prototype.getHoldings;
    getAllHoldings: typeof Portfolio.prototype.getAllHoldings;
    getLTP: typeof MarketData.prototype.getLTP;
    getMultiLTP: typeof MarketData.prototype.getMultiLTP;
    getQuote: typeof MarketData.prototype.getQuote;
    getMultiQuotes: typeof MarketData.prototype.getMultiQuotes;
    getHistoricalData: typeof MarketData.prototype.getHistoricalData;
    getHistoricalDataPaginated: typeof MarketData.prototype.getHistoricalDataPaginated;
    getFunds: typeof Portfolio.prototype.getFunds;
    convertPosition: typeof Portfolio.prototype.convertPosition;
    createGTT: typeof GTT.prototype.createRule;
    modifyGTT: typeof GTT.prototype.modifyRule;
    cancelGTT: typeof GTT.prototype.cancelRule;
    getGTTDetails: typeof GTT.prototype.getRuleDetails;
    getGTTList: typeof GTT.prototype.getRuleList;
    getPublisherLoginUrl: typeof Auth.prototype.getPublisherLoginUrl;
    getWebhookInfo: typeof MarketData.prototype.getWebhookInfo;
    calculateBrokerage: typeof Brokerage.prototype.calculate;
    calculateMargin: typeof Brokerage.prototype.calculateMargin;
    getOrderDetails: typeof Orders.prototype.getOrderDetails;
    getOptionGreeks: typeof MarketData.prototype.getOptionGreeks;
    getInstruments: typeof Instruments.prototype.getInstruments;
    searchScrip: typeof Instruments.prototype.searchScrip;
    getLtp: typeof Instruments.prototype.getLtp;
    getNseIntradayScrips: typeof Instruments.prototype.getNseIntradayScrips;
    getBseIntradayScrips: typeof Instruments.prototype.getBseIntradayScrips;
    generateTOTP: typeof Auth.prototype.generateTOTP;
    setTOTPSecret: typeof Auth.prototype.setTOTPSecret;
    static parseWebhookData: typeof MarketData.parseWebhookData;
    /**
     * Initialize a new SmartAPI client
     * @param config SmartAPI configuration
     */
    constructor(config: SmartAPIConfig);
    /**
     * Authentication module
     * Handles login, session management, logout, and user profile
     */
    get auth(): Auth;
    /**
     * Orders module
     * Handles placing, modifying, cancelling orders and fetching order details
     */
    get orders(): Orders;
    /**
     * GTT (Good Till Triggered) module
     * Handles creating, modifying, and cancelling GTT rules
     */
    get gtt(): GTT;
    /**
     * Portfolio module
     * Handles positions, holdings, funds and related functionality
     */
    get portfolio(): Portfolio;
    /**
     * Brokerage module
     * Handles brokerage calculation
     */
    get brokerage(): Brokerage;
    /**
     * Market Data module
     * Handles data operations like historical candles, LTP, quotes, etc.
     */
    get marketData(): MarketData;
    /**
     * Instruments module
     * Handles operations related to market instruments, scrips and LTP data
     */
    get instruments(): Instruments;
}
