import { RVDashboard } from './common.types.js'; /** * Insight types supported by the AI engine */ export type InsightType = 'summary' | 'analysis' | 'forecast'; /** * Backward-compatible constants for insight types. * * Prefer string literals (`'summary'`, `'analysis'`, `'forecast'`) in new code. */ export declare const InsightTypes: { readonly Summary: InsightType; readonly Analysis: InsightType; readonly Forecast: InsightType; }; /** * Base fields shared by both streaming and non-streaming insight requests */ interface InsightRequestBase { /** Dashboard as JSON string or RVDashboard object. Use this OR dashboardId. */ dashboard?: string | RVDashboard; /** Dashboard ID (when server uses IRVDashboardProvider). Use this OR dashboard. */ dashboardId?: string; /** Visualization ID for widget-specific insights. Omit for whole-dashboard insights. */ visualizationId?: string; /** Type of insight to generate */ type: InsightType; /** * Number of forecast periods (only used when type is 'forecast') * @default 6 */ forecastPeriods?: number; /** Override the default LLM model for this request */ model?: string; /** AbortSignal for request cancellation */ signal?: AbortSignal; } /** * Non-streaming insight request (default) */ export interface InsightRequest extends InsightRequestBase { stream?: false; } /** * Streaming insight request */ export interface InsightStreamRequest extends InsightRequestBase { stream: true; } /** * Response from a non-streaming insight request */ export interface InsightResponse { /** AI-generated explanation/insight text */ explanation: string; } export {}; //# sourceMappingURL=insights.types.d.ts.map