import type { Logger } from '@polka-codes/core';
import type { AgentMetrics } from './types';
/**
 * Collects and tracks agent metrics
 */
export declare class MetricsCollector {
    #private;
    constructor(logger?: Logger);
    /**
     * Record task start
     */
    recordTaskStart(taskId: string): void;
    /**
     * Record task completion
     */
    recordTaskComplete(taskId: string): void;
    /**
     * Record task failure
     */
    recordTaskFailure(taskId: string): void;
    /**
     * Record git operation
     */
    recordGitOperation(operation: {
        filesChanged?: number;
        insertions?: number;
        deletions?: number;
    }): void;
    /**
     * Record commit
     */
    recordCommit(): void;
    /**
     * Record test results
     */
    recordTestResults(results: {
        passed: number;
        failed: number;
    }): void;
    /**
     * Update coverage percentage
     */
    updateCoverage(percentage: number): void;
    /**
     * Get current metrics
     */
    getMetrics(): AgentMetrics;
    /**
     * Reset metrics
     */
    reset(): void;
    /**
     * Update success rate
     */
    private updateSuccessRate;
    /**
     * Update average task time
     */
    private updateAverageTaskTime;
    /**
     * Create empty metrics object
     */
    private emptyMetrics;
}
//# sourceMappingURL=metrics.d.ts.map