/**
 * @license
 * Copyright 2025 Vybestack LLC
 * SPDX-License-Identifier: Apache-2.0
 */
import React from 'react';
import { SessionMetrics, ModelMetrics } from '@vybestack/llxprt-code-core';
export declare enum ToolCallDecision {
    ACCEPT = "accept",
    REJECT = "reject",
    MODIFY = "modify",
    AUTO_ACCEPT = "auto_accept"
}
export type { SessionMetrics, ModelMetrics };
export interface SessionStatsState {
    sessionId: string;
    sessionStartTime: Date;
    metrics: SessionMetrics;
    lastPromptTokenCount: number;
    historyTokenCount: number;
    promptCount: number;
    tokensPerMinute?: number;
    throttleWaitTimeMs?: number;
}
export interface ComputedSessionStats {
    totalApiTime: number;
    totalToolTime: number;
    agentActiveTime: number;
    apiTimePercent: number;
    toolTimePercent: number;
    cacheEfficiency: number;
    totalDecisions: number;
    successRate: number;
    agreementRate: number;
    totalCachedTokens: number;
    totalPromptTokens: number;
    totalLinesAdded: number;
    totalLinesRemoved: number;
}
interface SessionStatsContextValue {
    stats: SessionStatsState;
    startNewPrompt: () => void;
    getPromptCount: () => number;
    updateHistoryTokenCount: (count: number) => void;
}
export declare const SessionStatsProvider: React.FC<{
    children: React.ReactNode;
}>;
export declare const useSessionStats: () => SessionStatsContextValue;
