export interface FyersCredentials {
    clientId: string;
    secretKey: string;
    redirectUri: string;
    totpKey?: string;
    accessToken?: string;
    refreshToken?: string;
}
export interface PlaceOrderRequest {
    symbol: string;
    qty: number;
    type: 'LIMIT' | 'MARKET' | 'SL' | 'SL-M';
    side: 'BUY' | 'SELL';
    productType: 'CNC' | 'INTRADAY' | 'MARGIN' | 'CO' | 'BO';
    limitPrice: number;
    stopPrice: number;
    disclosedQty?: number;
    validity: 'DAY' | 'IOC';
    offlineOrder?: boolean;
    stopLoss?: number;
    takeProfit?: number;
}
export interface FyersOrderResponse {
    s: string;
    code: number;
    message: string;
    id?: string;
}
export interface FyersPosition {
    id: string;
    symbol: string;
    qty: number;
    side: string;
    product: string;
    avgPrice: number;
    pnl: number;
    pnlPercent: number;
}
export interface FyersQuote {
    symbol: string;
    ltp: number;
    open: number;
    high: number;
    low: number;
    close: number;
    volume: number;
    chng: number;
    chngPercent: number;
}
export declare class FyersService {
    private fyers;
    private accessToken;
    private refreshToken;
    appId: string;
    secretKey: string;
    constructor();
    generateAuthUrl(credentials: FyersCredentials): string;
    generateAccessToken(authCode: string, credentials: FyersCredentials): Promise<{
        success: boolean;
        accessToken?: string;
        refreshToken?: string;
        accountId?: string;
        message: string;
    }>;
    login(credentials: FyersCredentials): Promise<{
        success: boolean;
        authUrl?: string;
        message: string;
    }>;
    placeOrder(orderData: PlaceOrderRequest): Promise<FyersOrderResponse>;
    getOrderBook(): Promise<any[]>;
    getPositions(): Promise<FyersPosition[]>;
    searchScrip(exchange: string, symbol: string): Promise<any[]>;
    getQuotes(symbols: string[]): Promise<FyersQuote[]>;
    getProfile(): Promise<any>;
    private getProductTypeCode;
    isAuthenticated(): boolean;
    getAccessToken(): string | null;
    setAccessToken(token: string): void;
    setRefreshToken(token: string): void;
    getRefreshToken(): string | null;
    refreshAccessToken(): Promise<{
        success: boolean;
        accessToken?: string;
        refreshToken?: string;
        message: string;
    }>;
    validateSession(): Promise<boolean>;
    logout(): Promise<{
        success: boolean;
        message: string;
    }>;
}
//# sourceMappingURL=fyersService.d.ts.map