import { AppContext } from '../types.js';
export declare class MemorySnapshotGQL {
    heapUsed: number;
    heapTotal: number;
    timestamp: number;
}
export declare class TelemetryEventGQL {
    id: string;
    category: string;
    operation: string;
    fingerprint: string;
    startTime: number;
    endTime?: number;
    elapsedMs?: number;
    userId?: string;
    params: string;
    tags?: string[];
    stackTrace?: string;
    memoryBefore?: MemorySnapshotGQL;
    memoryAfter?: MemorySnapshotGQL;
    parentEventId?: string;
}
export declare class CallerLocationGQL {
    location: string;
    count: number;
}
export declare class TelemetryPatternGQL {
    fingerprint: string;
    category: string;
    operation: string;
    sampleParams: string;
    count: number;
    totalElapsedMs: number;
    avgElapsedMs: number;
    minElapsedMs: number;
    maxElapsedMs: number;
    callerLocations: CallerLocationGQL[];
    firstSeen: number;
    lastSeen: number;
    windowStartTime: number;
}
export declare class TelemetryInsightGQL {
    id: string;
    severity: string;
    analyzerName: string;
    category: string;
    title: string;
    message: string;
    suggestion: string;
    relatedEventIds: string[];
    entityName?: string;
    metadata?: string;
    timestamp: number;
}
export declare class CategoryStatsGQL {
    category: string;
    events: number;
    avgMs: number;
}
export declare class TelemetryStatsGQL {
    totalEvents: number;
    totalPatterns: number;
    totalInsights: number;
    activeEvents: number;
    byCategory: CategoryStatsGQL[];
}
export declare class CategoryOverrideGQL {
    category: string;
    enabled: boolean;
    level?: string;
}
export declare class AutoTrimSettingsGQL {
    enabled: boolean;
    maxEvents?: number;
    maxAgeMs?: number;
}
export declare class DuplicateDetectionSettingsGQL {
    enabled: boolean;
    windowMs: number;
}
export declare class AnalyzerSettingsGQL {
    enabled: boolean;
    dedupeWindowMs: number;
}
export declare class TelemetrySettingsGQL {
    enabled: boolean;
    level: string;
    categoryOverrides: CategoryOverrideGQL[];
    autoTrim: AutoTrimSettingsGQL;
    duplicateDetection: DuplicateDetectionSettingsGQL;
    analyzers: AnalyzerSettingsGQL;
}
export declare class TelemetryEventFilterInput {
    category?: string;
    operation?: string;
    minElapsedMs?: number;
    since?: number;
    limit?: number;
}
export declare class TelemetryPatternFilterInput {
    category?: string;
    minCount?: number;
    sortBy?: string;
}
export declare class TelemetryInsightFilterInput {
    severity?: string;
    category?: string;
    entityName?: string;
    limit?: number;
}
export declare class TelemetryResolver {
    GetServerTelemetrySettings(_context: AppContext): TelemetrySettingsGQL;
    GetServerTelemetryStats(_context: AppContext): TelemetryStatsGQL;
    GetServerTelemetryEvents(_context: AppContext, filter?: TelemetryEventFilterInput): TelemetryEventGQL[];
    GetServerTelemetryPatterns(_context: AppContext, filter?: TelemetryPatternFilterInput): TelemetryPatternGQL[];
    GetServerTelemetryInsights(_context: AppContext, filter?: TelemetryInsightFilterInput): TelemetryInsightGQL[];
    GetServerTelemetryDuplicates(_context: AppContext, minCount: number): TelemetryPatternGQL[];
    GetServerTelemetryActiveEvents(_context: AppContext): TelemetryEventGQL[];
}
//# sourceMappingURL=TelemetryResolver.d.ts.map