/**
 * Timings Parser
 *
 * Parses Aikar's Timings reports for performance metrics.
 *
 * @since v1.70.0
 */
import type { TimingsReportData } from './analytics-types.js';
/**
 * Raw Timings API response
 */
interface RawTimingsResponse {
    timingsMaster?: {
        tps?: number;
        version?: string;
        maxplayers?: number;
        online_mode?: boolean;
        start?: number;
        end?: number;
        sampletime?: number;
        serverName?: string;
    };
    data?: Array<{
        id: number;
        name: string;
        count: number;
        total: number;
        lagTotal?: number;
        lagCount?: number;
        children?: Array<{
            id: number;
            count: number;
            total: number;
        }>;
    }>;
    idmap?: {
        handlers?: Record<string, string>;
        groups?: Record<string, string>;
        worlds?: Record<string, string>;
    };
}
/**
 * Parse result
 */
export interface TimingsParseResult {
    success: boolean;
    data?: TimingsReportData;
    error?: string;
}
/**
 * Timings parser
 */
export declare class TimingsParser {
    /**
     * Extract report ID from Timings URL
     */
    extractReportId(url: string): string | null;
    /**
     * Check if URL is a valid Timings URL
     */
    isValidTimingsUrl(url: string): boolean;
    /**
     * Parse raw Timings API response
     */
    parse(raw: RawTimingsResponse): TimingsParseResult;
    /**
     * Parse from JSON string
     */
    parseJson(json: string): TimingsParseResult;
    /**
     * Get API URL for a Timings report
     */
    getApiUrl(reportId: string): string;
    /**
     * Transform raw response to TimingsReportData
     */
    private transformResponse;
    /**
     * Extract plugin name from timing entry name
     */
    private extractPluginName;
    /**
     * Extract handler name from timing entry name
     */
    private extractHandlerName;
}
/**
 * Create a new Timings parser
 */
export declare function createTimingsParser(): TimingsParser;
/**
 * Get Timings parser singleton
 */
export declare function getTimingsParser(): TimingsParser;
/**
 * Reset Timings parser singleton
 */
export declare function resetTimingsParser(): void;
export {};
//# sourceMappingURL=timings-parser.d.ts.map