type AgentStatus = 'idle' | 'working' | 'done' | 'error' | 'blocked';
interface AgentInfo {
    id: string;
    name: string;
    type: 'droid' | 'subagent' | 'main';
    status: AgentStatus;
    task: string;
    parentId: string | null;
    startTime: number;
    endTime: number | null;
    tokensUsed: number;
}
interface TaskNode {
    id: string;
    title: string;
    status: 'pending' | 'in_progress' | 'done' | 'failed';
    assignedTo: string | null;
    children: string[];
    parentId: string | null;
    startTime: number | null;
    endTime: number | null;
    depth: number;
}
interface SkillMatch {
    name: string;
    source: string;
    active: boolean;
    matchedAt: number;
    reason: string;
}
interface PatternMatch {
    id: string;
    name: string;
    weight: number;
    active: boolean;
    matchedAt: number;
    category: string;
}
interface DeployAction {
    id: string;
    type: 'commit' | 'push' | 'merge' | 'deploy' | 'workflow';
    target: string;
    status: 'queued' | 'batched' | 'executing' | 'done' | 'failed';
    queuedAt: number;
    executedAt: number | null;
    batchId: string | null;
    message: string;
}
interface CostEntry {
    model: string;
    inputTokens: number;
    outputTokens: number;
    costUsd: number;
    timestamp: number;
    operation: string;
}
interface SessionStats {
    sessionId: string;
    startTime: number;
    tokensUsed: number;
    tokensSaved: number;
    memoryHits: number;
    memoryMisses: number;
    toolCalls: number;
    policyChecks: number;
    policyBlocks: number;
    filesBackedUp: number;
    stepsCompleted: number;
    stepsTotal: number;
    currentStep: string;
    errors: number;
    agents: Map<string, AgentInfo>;
    tasks: Map<string, TaskNode>;
    skills: Map<string, SkillMatch>;
    patterns: Map<string, PatternMatch>;
    rootTaskIds: string[];
    deploys: Map<string, DeployAction>;
    costs: CostEntry[];
    totalCostUsd: number;
    estimatedCostWithoutUap: number;
    maxEntries: number;
    lastCleanup: number;
}
declare function getStats(): SessionStats;
export declare function banner(): void;
export declare function sessionStart(totalSteps?: number): void;
export declare function agentRegister(id: string, name: string, type: 'droid' | 'subagent' | 'main', parentId?: string): void;
export declare function agentStart(id: string, task: string): void;
export declare function agentProgress(id: string, message: string, tokensUsed?: number): void;
export declare function agentComplete(id: string, result?: string): void;
export declare function agentError(id: string, error: string): void;
export declare function taskCreate(id: string, title: string, parentId?: string): void;
export declare function taskAssign(taskId: string, agentId: string): void;
export declare function taskStart(taskId: string): void;
export declare function taskComplete(taskId: string): void;
export declare function taskFail(taskId: string, reason?: string): void;
export declare function workGraph(): void;
export declare function skillMatch(name: string, source: string, reason: string): void;
export declare function skillActivate(name: string): void;
export declare function skillDeactivate(name: string): void;
export declare function showSkills(): void;
export declare function patternMatch(id: string, name: string, weight: number, category: string): void;
export declare function patternActivate(id: string): void;
export declare function showPatterns(): void;
export declare function deployQueue(id: string, type: DeployAction['type'], target: string, message: string): void;
export declare function deployBatch(actionIds: string[], batchId: string): void;
export declare function deployExecute(batchId: string): void;
export declare function deployComplete(id: string, success: boolean): void;
export declare function showDeployWindow(): void;
export declare function costTrack(model: string, inputTokens: number, outputTokens: number, operation: string): void;
export declare function costFromSavedTokens(savedTokens: number, model?: string): void;
export declare function showCostSummary(): void;
export declare function memoryLookup(query: string, hits: number, topMatch?: string, similarity?: number): void;
export declare function tokenUsage(used: number, saved: number, source?: string): void;
export declare function toolCall(name: string, duration?: number, result?: string): void;
export declare function policyCheck(policyName: string, allowed: boolean, reason?: string): void;
export declare function fileBackup(originalPath: string, backupPath: string): void;
export declare function stepStart(stepName: string, stepNum?: number): void;
export declare function stepComplete(_stepName: string): void;
export declare function error(message: string, context?: string): void;
export declare function warn(message: string): void;
export declare function info(message: string): void;
export declare function sessionSummary(): void;
export declare function liveStatus(): void;
export declare function backupFile(filePath: string, projectRoot?: string): string | null;
export declare function backupDirectory(dirPath: string, projectRoot?: string): Promise<number>;
export declare function showActivePolicies(): void;
export declare function resetStats(): void;
/**
 * Get a snapshot of the current session stats for the web dashboard.
 * Returns null if no session has been initialized.
 */
export declare function getSessionSnapshot(): ReturnType<typeof getStats> | null;
export declare function startDashboard(intervalMs?: number, showWorkGraph?: boolean): void;
export declare function stopDashboard(): void;
export declare function dashboardPause(): void;
export declare function dashboardResume(): void;
export declare function showDashboardSnapshot(showWorkGraph?: boolean): void;
export {};
//# sourceMappingURL=session-telemetry.d.ts.map