export type PlotStyle = 'line' | 'stepline' | 'histogram' | 'area' | 'circles' | 'columns' | 'cross' | 'areabr' | 'steplinebr' | 'linebr'; export type LineStyle = 'solid' | 'dashed' | 'dotted'; export type PlotDisplay = 'all' | 'none' | 'data_window' | 'status_line' | 'pane'; export interface PlotOptions { title?: string; color?: string; linewidth?: number; style?: PlotStyle; trackprice?: boolean; histbase?: number; offset?: number; join?: boolean; editable?: boolean; display?: PlotDisplay; transp?: number; } export interface HLineOptions { title?: string; color?: string; linestyle?: LineStyle; linewidth?: number; editable?: boolean; } export interface FillOptions { color?: string; transp?: number; title?: string; editable?: boolean; fillgaps?: boolean; } export type InputType = 'int' | 'float' | 'bool' | 'string' | 'source' | 'color' | 'timeframe' | 'session'; export interface InputMetadata { type: InputType; name: string; title: string; defval: any; minval?: number; maxval?: number; step?: number; tooltip?: string; inline?: string; group?: string; options?: any[]; confirm?: boolean; } export interface PlotMetadata { varName: string; title: string; color: string; linewidth: number; style: PlotStyle; } export interface IndicatorMetadata { title: string; shorttitle?: string; overlay: boolean; precision?: number; format?: string; timeframe?: string; timeframe_gaps?: boolean; inputs?: InputMetadata[]; plots?: PlotMetadata[]; } export interface TimeValue { time: any; value: number; color?: string; } export interface PlotData { data: TimeValue[]; options?: PlotOptions; } export interface HLineData { value: number; options?: HLineOptions; } export interface FillData { plot1: number | string; plot2: number | string; options?: FillOptions; colors?: string[]; } export interface IndicatorResult { metadata: IndicatorMetadata; plots: Record; hlines?: HLineData[]; fills?: FillData[]; } export type IndicatorFactory = (options?: Record) => { metadata: IndicatorMetadata; calculate: (bars: any[]) => PlotData[] | TimeValue[]; }; //# sourceMappingURL=metadata.d.ts.map