export interface EvalResultsFilters {
    success?: boolean | number;
    metricName?: string;
    cost?: {
        min?: number;
        max?: number;
    };
    score?: {
        min?: number;
        max?: number;
    };
    failureReason?: string;
    isRedteam?: boolean;
    provider?: string;
    applicationId?: string;
}
export interface TraceQueryParams {
    projectId?: string;
    applicationId?: string;
    traceId?: string;
    traceIds?: string[];
    dateRange?: {
        start: string;
        end: string;
    };
    status?: 'success' | 'error' | 'failed';
    includeEvaluationResults?: boolean;
    evalResultsFilters?: EvalResultsFilters;
    limit?: number;
    offset?: number;
    sorting?: {
        field: 'timestamp' | 'duration' | 'status';
        order: 'asc' | 'desc';
    };
}
export interface SpanQueryParams {
    projectId?: string;
    applicationId?: string;
    spanId?: string;
    spanIds?: string[];
    traceId?: string;
    dateRange?: {
        start: string;
        end: string;
    };
    status?: 'success' | 'error';
    includeEvaluationResults?: boolean;
    evalResultsFilters?: EvalResultsFilters;
    limit?: number;
    offset?: number;
    sorting?: {
        field: 'timestamp' | 'duration';
        order: 'asc' | 'desc';
    };
}
export interface SessionQueryParams {
    projectId?: string;
    applicationId?: string;
    sessionId?: string;
    sessionIds?: string[];
    userId?: string;
    dateRange?: {
        start: string;
        end: string;
    };
    status?: 'active' | 'completed' | 'failed';
    includeEvaluationResults?: boolean;
    evalResultsFilters?: EvalResultsFilters;
    limit?: number;
    offset?: number;
    sorting?: {
        field: 'timestamp' | 'duration' | 'createdAt';
        order: 'asc' | 'desc';
    };
}
/**
 * Get count of traces matching the query (without fetching full data)
 */
export declare function countTraces(params: TraceQueryParams): Promise<number>;
/**
 * Query traces from ClickHouse
 */
export declare function queryTraces(params: TraceQueryParams): Promise<any[]>;
/**
 * Query a single trace by ID
 */
export declare function queryTraceById(params: {
    projectId?: string;
    traceId: string;
    includeEvaluationResults?: boolean;
    evalResultsFilters?: EvalResultsFilters;
}): Promise<any>;
/**
 * Get count of spans matching the query (without fetching full data)
 */
export declare function countSpans(params: SpanQueryParams): Promise<number>;
/**
 * Query spans from ClickHouse
 */
export declare function querySpans(params: SpanQueryParams): Promise<any[]>;
/**
 * Query a single span by ID
 */
export declare function querySpanById(params: {
    projectId?: string;
    spanId: string;
    includeEvaluationResults?: boolean;
    evalResultsFilters?: EvalResultsFilters;
}): Promise<any | null>;
/**
 * Query sessions from ClickHouse
 * Note: Sessions might be stored differently - adjust based on your schema
 */
/**
 * Get count of sessions matching the query (without fetching full data)
 */
export declare function countSessions(params: SessionQueryParams): Promise<number>;
export declare function querySessions(params: SessionQueryParams): Promise<any[]>;
/**
 * Query a single session by ID
 */
export declare function querySessionById(params: {
    projectId?: string;
    sessionId: string;
    includeEvaluationResults?: boolean;
    evalResultsFilters?: EvalResultsFilters;
}): Promise<any[]>;
//# sourceMappingURL=clickhouseQueries.d.ts.map