import type { AnalyzeQueryResult, PlanDebugEventJSON } from '../../../../zero-protocol/src/analyze-query-result.ts';
import type { AnalyzeQueryOptions } from '../../../../zero-protocol/src/inspect-up.ts';
import type { QueryDelegate } from '../../../../zql/src/query/query-delegate.ts';
import type { AnyQuery } from '../../../../zql/src/query/query.ts';
import type { ClientGroup } from './client-group.ts';
import { Client } from './client.ts';
import type { InspectorDelegate, Metrics, Rep } from './lazy-inspector.ts';
export type { InspectorDelegate };
export type Lazy = typeof import('./lazy-inspector.ts');
export declare class Inspector {
    #private;
    readonly client: Client;
    readonly clientGroup: ClientGroup;
    constructor(rep: Rep, inspectorDelegate: InspectorDelegate, queryDelegate: QueryDelegate, getSocket: () => Promise<WebSocket>);
    metrics(): Promise<Metrics>;
    clients(): Promise<Client[]>;
    clientsWithQueries(): Promise<Client[]>;
    serverVersion(): Promise<string>;
    analyzeQuery(query: AnyQuery, options?: AnalyzeQueryOptions): Promise<AnalyzeQueryResult>;
    /**
     * Format planner debug events as a human-readable string.
     */
    formatPlannerEvents(events: PlanDebugEventJSON[]): string;
}
//# sourceMappingURL=inspector.d.ts.map