import type { AgentEvent } from "../../types.js";
export type TranscriptEntry = {
    kind: "text";
    text: string;
    timestamp: number;
} | {
    kind: "tool_start";
    toolName: string;
    content: string | null;
    summary: string | null;
    timestamp: number;
} | {
    kind: "tool_end";
    toolName: string;
    content: string | null;
    summary: string | null;
    isError: boolean;
    durationMs: number;
    timestamp: number;
} | {
    kind: "turn_end";
    turnNumber: number;
    tokens: number;
    timestamp: number;
};
export declare class TranscriptLog {
    private entries;
    push(entry: TranscriptEntry): void;
    getEntries(): readonly TranscriptEntry[];
    get length(): number;
    reset(): void;
}
export declare class TranscriptTracker {
    private logs;
    private toolStarts;
    private pendingText;
    private turnCounts;
    private lastTokens;
    handleEvent(name: string, ev: AgentEvent): void;
    get(name: string): TranscriptLog;
    reset(name: string): void;
    private getOrCreate;
    private flushText;
}
type TrackedEventType = "tool_execution_start" | "tool_execution_end" | "agent_end" | "message_end";
export interface TeammateActivity {
    toolUseCount: number;
    currentToolName: string | null;
    lastToolName: string | null;
    turnCount: number;
    totalTokens: number;
    recentEvents: Array<{
        type: TrackedEventType;
        toolName?: string;
        timestamp: number;
    }>;
}
export declare class ActivityTracker {
    private data;
    handleEvent(name: string, ev: AgentEvent): void;
    get(name: string): TeammateActivity;
    reset(name: string): void;
    private getOrCreate;
}
export {};
