import { Document } from 'mongodb';
interface SlowQueryReportParams {
    collection: string;
    filter?: Document;
    pipeline?: any[];
    options?: Document;
    durationMs: number;
    queryType: 'find' | 'findOne' | 'aggregate' | 'countDocuments';
    notes?: string;
    queryHash?: string;
    sourceApp?: string;
    serverUrl?: string;
    publication?: string;
    subscriptionData?: any[];
    userId?: string;
}
export declare class SlowQueryReporter {
    static reportSlowQuery(params: SlowQueryReportParams): Promise<void>;
    static reportSlowQueryFireAndForget(params: SlowQueryReportParams): void;
    private static isReportingEnabled;
    private static getThresholdMs;
    private static getEnvironment;
    private static getClientName;
    private static generateQueryHash;
    private static getServerUrl;
    private static normalizeForHash;
}
export {};
