import { Request, Response } from 'express';
export declare function isMongoId(id: unknown): id is string;
export declare const ObserveDashboardController: {
    getObserveDashboardConfig: (req: Request, res: Response) => Promise<void>;
    parseTrace: (req: Request, res: Response) => Promise<void>;
    getTraceDag: (req: Request, res: Response) => Promise<void>;
    /**
     * Linear flow: same parser as getTraceViewDag (getTraceViewDagData).
     * For identical nodes/edges to trace-view/dag, use the same spans (e.g. POST /trace-view/dag with body { traceId, spans }).
     */
    getTraceLinearFlow: (req: Request, res: Response) => Promise<void>;
    getTraceDetails: (req: Request, res: Response) => Promise<void>;
    getSpansByTraceId: (req: Request, res: Response) => Promise<void>;
    getTraceRagDetails: (req: Request, res: Response) => Promise<void>;
    getPromptTraces: (req: Request, res: Response) => Promise<void>;
    getExceptionTraces: (req: Request, res: Response) => Promise<void>;
    getNodeTraces: (req: Request, res: Response) => Promise<void>;
    downloadPromptsCSV: (req: Request, res: Response) => Promise<void>;
    downloadExceptionsCSV: (req: Request, res: Response) => Promise<void>;
    /**
     * Get filter options for Agent Flow panel: unique agents and tools from aggregated_trace_dag_nodes
     * (no date-range filter). Returns separate "Agents" and "Tools" categories; only one can be selected at a time.
     */
    getFilterOptions: (req: Request, res: Response) => Promise<void>;
    getDashboardDag: (req: Request, res: Response) => Promise<void>;
    /**
     * Trace view DAG: same parser as /trace/linear-flow (getTraceViewDagData).
     * Accepts traceId (fetch spans from ClickHouse) or spans (use provided); when both are sent, spans are used so edges match linear-flow.
     */
    getTraceViewDag: (req: Request, res: Response) => Promise<void>;
};
//# sourceMappingURL=observe-dashboard-controller.d.ts.map