export interface SeriesHandle { setData(data: Array<{ time: number; value: number; color?: string; }>): void; } export interface SeriesOptions { color?: string; lineWidth?: number; lineStyle?: number; priceScaleId?: string; pane?: number; } export interface ChartAdapter { addSeries(type: string, options?: SeriesOptions): SeriesHandle; removeSeries(series: SeriesHandle): void; getMainSeries?(): SeriesHandle | undefined; createPane?(): number; } export interface InputConfig { id: string; type: 'int' | 'float' | 'bool' | 'string' | 'source' | 'color'; defval: unknown; title?: string; min?: number; max?: number; step?: number; options?: string[]; } export interface PlotConfig { id: string; title: string; color: string; lineWidth?: number; style?: 'line' | 'stepline' | 'histogram' | 'area' | 'circles' | 'columns' | 'cross' | 'areabr' | 'steplinebr' | 'linebr'; visible?: boolean | string; display?: 'all' | 'none' | 'data_window' | 'status_line' | 'pane'; offset?: number; histbase?: number; } export interface HLineConfig { id: string; price: number; title?: string; color?: string; linestyle?: 'solid' | 'dashed' | 'dotted'; linewidth?: number; display?: 'all' | 'none' | 'data_window' | 'status_line' | 'pane'; } export interface FillConfig { id: string; plot1: string; plot2: string; color?: string; colors?: string[]; title?: string; visible?: boolean | string; } export interface InputOptions { min?: number; max?: number; step?: number; } export interface InputAdapter { registerInput(config: InputConfig): unknown; getValue(id: string): unknown; setValue(id: string, value: unknown): void; onInputChange(callback: (id: string, value: unknown) => void): void; } export interface OhlcvData { time: number[]; open: number[]; high: number[]; low: number[]; close: number[]; volume: number[]; } export interface OakScriptContext { chart: ChartAdapter; inputs: InputAdapter; ohlcv: OhlcvData; bar_index: number; } //# sourceMappingURL=types.d.ts.map