import type { Response } from 'express';
import type { AuthRequest } from '../../../middlewares/validateUser';
export declare class TruPulseToolController {
    /**
     * Apply default filters helper
     */
    private static applyDefaults;
    /**
     * 3.1 Discovery / schema / facets
     * GET /api/argus/tools/describe-data-model
     */
    static describeDataModel(req: AuthRequest, res: Response): Promise<void>;
    /**
     * 3.1 list_dimensions(entity, time_range)
     * GET /api/argus/tools/list-dimensions
     */
    static listDimensions(req: AuthRequest, res: Response): Promise<void>;
    /**
     * 3.1 get_dimension_values(entity, key, time_range, prefix?, limit?)
     * GET /api/argus/tools/get-dimension-values
     *
     * Returns distinct values for a given dimension key (facet) for an entity,
     * optionally constrained by time range and value prefix.
     */
    static getDimensionValues(req: AuthRequest, res: Response): Promise<void>;
    /**
     * GET /api/argus/tools/get-traces-by-ids?projectId=xxx&orgId=xxx&traceIds=xxx&limit=xxx
     * Get multiple traces by their IDs
     */
    static getTracesByIds(req: AuthRequest, res: Response): Promise<void>;
    /**
     * 3.3 search_traces(filter, time_range, sort, page)
     * Aliases getTraces with page/pageSize semantics.
     * GET /api/argus/tools/search-traces
     */
    static searchTraces(req: AuthRequest, res: Response): Promise<void>;
    /**
     * 3.3 get_trace(trace_id, include={span_tree,summary})
     * GET /api/argus/tools/get-trace
     */
    static getTrace(req: AuthRequest, res: Response): Promise<void>;
    /**
     * 3.3 get_trace_span_tree(trace_id)
     * Lightweight wrapper that only returns the span tree.
     * GET /api/argus/tools/get-trace-span-tree
     */
    static getTraceSpanTree(req: AuthRequest, res: Response): Promise<void>;
    /**
     * 3.3 get_trace_logs(trace_id, query?, limit?)
     * Not implemented (no logs table wired yet).
     */
    static getTraceLogs(req: AuthRequest, res: Response): Promise<void>;
    /**
     * 3.4 search_spans(filter, time_range, sort, page)
     * Aliases getSpans with page/pageSize semantics.
     * GET /api/argus/tools/search-spans
     */
    static searchSpans(req: AuthRequest, res: Response): Promise<void>;
    /**
     * 3.4 get_span(span_id, include={events,links,attributes,stacktrace})
     * GET /api/argus/tools/get-span
     */
    static getSpan(req: AuthRequest, res: Response): Promise<void>;
    /**
     * 3.4 get_span_events(span_id, event_name?)
     * GET /api/argus/tools/get-span-events
     */
    static getSpanEvents(req: AuthRequest, res: Response): Promise<void>;
    /**
     * 3.4 get_span_logs(span_id, limit?)
     * Not implemented (logs not wired yet).
     */
    static getSpanLogs(req: AuthRequest, res: Response): Promise<void>;
    /**
     * GET /api/argus/tools/get-spans-by-ids?projectId=xxx&orgId=xxx&spanIds=xxx&limit=xxx
     * Get multiple spans by their IDs
     */
    static getSpansByIds(req: AuthRequest, res: Response): Promise<void>;
    /**
     * GET /api/argus/tools/get-sessions?projectId=xxx&orgId=xxx&filters=xxx&sorting=xxx&limit=xxx&offset=xxx
     * Get sessions with filters (default: 30 days, limit 100)
     */
    static getSessions(req: AuthRequest, res: Response): Promise<void>;
    /**
     * GET /api/argus/tools/get-session-by-id?projectId=xxx&orgId=xxx&sessionId=xxx
     * Get all session records by ID (multiple records can exist for a single sessionId with different trace/span data)
     */
    static getSessionById(req: AuthRequest, res: Response): Promise<void>;
    /**
     * 3.2 search_sessions(filter, time_range, sort, page)
     * Aliases getSessions with page/pageSize semantics.
     * GET /api/argus/tools/search-sessions
     */
    static searchSessions(req: AuthRequest, res: Response): Promise<void>;
    /**
     * 3.2 get_session(session_id, include={summary,timeline,traces,aggregates})
     * GET /api/argus/tools/get-session
     */
    static getSession(req: AuthRequest, res: Response): Promise<void>;
    /**
     * 3.2 get_session_traces(session_id, filter?, page?)
     * GET /api/argus/tools/get-session-traces
     */
    static getSessionTraces(req: AuthRequest, res: Response): Promise<void>;
    /**
     * 3.2 get_session_graph(session_id)
     * Returns a simple DAG-ish representation built from spans in the session.
     * GET /api/argus/tools/get-session-graph
     */
    static getSessionGraph(req: AuthRequest, res: Response): Promise<void>;
    /**
     * GET /api/argus/tools/get-sessions-by-ids?projectId=xxx&orgId=xxx&sessionIds=xxx&limit=xxx
     * Get multiple sessions by their IDs
     */
    static getSessionsByIds(req: AuthRequest, res: Response): Promise<void>;
}
//# sourceMappingURL=truPulseToolController.d.ts.map