import { ICmsSDK } from '../core/sdk.type'; import { BarsQuery, BarsResponse, BarItem } from '../services/bars/bars.type'; /** * Bars store — OHLC chart bars (`/api/v1/chart/bars`). READ-ONLY. * One store backs chart rendering across the FE; each chart view * re-fetches on mount (no background polling). * * State is ephemeral (chart data); only `lastQuery` is persisted * so the consumer can resume with the same timeframe on reload. */ export declare const useBarsStore: import('pinia').StoreDefinition<"cms-bars", Pick<{ items: import('vue').Ref<{ symbol: string; interval: import('..').MT5Interval; mt5Ts: string; open: number; high: number; low: number; close: number; tickVolume: number | null; volume: number | null; spread: number | null; source: import('..').BarsItemSource | null; }[], BarItem[] | { symbol: string; interval: import('..').MT5Interval; mt5Ts: string; open: number; high: number; low: number; close: number; tickVolume: number | null; volume: number | null; spread: number | null; source: import('..').BarsItemSource | null; }[]>; response: import('vue').Ref<{ items: { symbol: string; interval: import('..').MT5Interval; mt5Ts: string; open: number; high: number; low: number; close: number; tickVolume: number | null; volume: number | null; spread: number | null; source: import('..').BarsItemSource | null; }[]; symbol: string; interval: import('..').MT5Interval; fromTime: string; toTime: string; sourceInterval: "M1"; count: number; aggregated: boolean; } | null, BarsResponse | { items: { symbol: string; interval: import('..').MT5Interval; mt5Ts: string; open: number; high: number; low: number; close: number; tickVolume: number | null; volume: number | null; spread: number | null; source: import('..').BarsItemSource | null; }[]; symbol: string; interval: import('..').MT5Interval; fromTime: string; toTime: string; sourceInterval: "M1"; count: number; aggregated: boolean; } | null>; isLoading: import('vue').Ref; loadError: import('vue').Ref; lastQuery: import('vue').Ref<{ symbol: string; interval: import('..').MT5Interval | import('..').ChartIntervalFe | (string & {}); fromTime: string; toTime: string; serverName?: string | undefined; limit?: number | undefined; sortDirection?: import('..').BarsSortDirection | undefined; } | null, BarsQuery | { symbol: string; interval: import('..').MT5Interval | import('..').ChartIntervalFe | (string & {}); fromTime: string; toTime: string; serverName?: string | undefined; limit?: number | undefined; sortDirection?: import('..').BarsSortDirection | undefined; } | null>; isEmpty: import('vue').ComputedRef; setSdk: (instance: ICmsSDK) => void; getBars: (query: BarsQuery) => Promise; reset: () => void; }, "items" | "isLoading" | "response" | "loadError" | "lastQuery">, Pick<{ items: import('vue').Ref<{ symbol: string; interval: import('..').MT5Interval; mt5Ts: string; open: number; high: number; low: number; close: number; tickVolume: number | null; volume: number | null; spread: number | null; source: import('..').BarsItemSource | null; }[], BarItem[] | { symbol: string; interval: import('..').MT5Interval; mt5Ts: string; open: number; high: number; low: number; close: number; tickVolume: number | null; volume: number | null; spread: number | null; source: import('..').BarsItemSource | null; }[]>; response: import('vue').Ref<{ items: { symbol: string; interval: import('..').MT5Interval; mt5Ts: string; open: number; high: number; low: number; close: number; tickVolume: number | null; volume: number | null; spread: number | null; source: import('..').BarsItemSource | null; }[]; symbol: string; interval: import('..').MT5Interval; fromTime: string; toTime: string; sourceInterval: "M1"; count: number; aggregated: boolean; } | null, BarsResponse | { items: { symbol: string; interval: import('..').MT5Interval; mt5Ts: string; open: number; high: number; low: number; close: number; tickVolume: number | null; volume: number | null; spread: number | null; source: import('..').BarsItemSource | null; }[]; symbol: string; interval: import('..').MT5Interval; fromTime: string; toTime: string; sourceInterval: "M1"; count: number; aggregated: boolean; } | null>; isLoading: import('vue').Ref; loadError: import('vue').Ref; lastQuery: import('vue').Ref<{ symbol: string; interval: import('..').MT5Interval | import('..').ChartIntervalFe | (string & {}); fromTime: string; toTime: string; serverName?: string | undefined; limit?: number | undefined; sortDirection?: import('..').BarsSortDirection | undefined; } | null, BarsQuery | { symbol: string; interval: import('..').MT5Interval | import('..').ChartIntervalFe | (string & {}); fromTime: string; toTime: string; serverName?: string | undefined; limit?: number | undefined; sortDirection?: import('..').BarsSortDirection | undefined; } | null>; isEmpty: import('vue').ComputedRef; setSdk: (instance: ICmsSDK) => void; getBars: (query: BarsQuery) => Promise; reset: () => void; }, "isEmpty">, Pick<{ items: import('vue').Ref<{ symbol: string; interval: import('..').MT5Interval; mt5Ts: string; open: number; high: number; low: number; close: number; tickVolume: number | null; volume: number | null; spread: number | null; source: import('..').BarsItemSource | null; }[], BarItem[] | { symbol: string; interval: import('..').MT5Interval; mt5Ts: string; open: number; high: number; low: number; close: number; tickVolume: number | null; volume: number | null; spread: number | null; source: import('..').BarsItemSource | null; }[]>; response: import('vue').Ref<{ items: { symbol: string; interval: import('..').MT5Interval; mt5Ts: string; open: number; high: number; low: number; close: number; tickVolume: number | null; volume: number | null; spread: number | null; source: import('..').BarsItemSource | null; }[]; symbol: string; interval: import('..').MT5Interval; fromTime: string; toTime: string; sourceInterval: "M1"; count: number; aggregated: boolean; } | null, BarsResponse | { items: { symbol: string; interval: import('..').MT5Interval; mt5Ts: string; open: number; high: number; low: number; close: number; tickVolume: number | null; volume: number | null; spread: number | null; source: import('..').BarsItemSource | null; }[]; symbol: string; interval: import('..').MT5Interval; fromTime: string; toTime: string; sourceInterval: "M1"; count: number; aggregated: boolean; } | null>; isLoading: import('vue').Ref; loadError: import('vue').Ref; lastQuery: import('vue').Ref<{ symbol: string; interval: import('..').MT5Interval | import('..').ChartIntervalFe | (string & {}); fromTime: string; toTime: string; serverName?: string | undefined; limit?: number | undefined; sortDirection?: import('..').BarsSortDirection | undefined; } | null, BarsQuery | { symbol: string; interval: import('..').MT5Interval | import('..').ChartIntervalFe | (string & {}); fromTime: string; toTime: string; serverName?: string | undefined; limit?: number | undefined; sortDirection?: import('..').BarsSortDirection | undefined; } | null>; isEmpty: import('vue').ComputedRef; setSdk: (instance: ICmsSDK) => void; getBars: (query: BarsQuery) => Promise; reset: () => void; }, "reset" | "setSdk" | "getBars">>; //# sourceMappingURL=bars.d.ts.map