import { BaseStream } from '../base-interfaces'; import { StateEvents, StateManager } from '../../state'; import { OpenStreamParams } from '../pricing/stream'; export declare enum HeaderTypes { String = "string", Number = "number" } export interface StringHeader { isEnum?: boolean; name: string; type: HeaderTypes.String; } export interface NumberHeader { name: string; type: HeaderTypes.Number; decimalChar: string; } export type Header = StringHeader | NumberHeader; export interface HistoricalPricingUpdateEvent { headers: Header[]; qos: number; defaultPricingField: string; data: Array; } export type StreamRefreshCallback = (event: any) => void; export type StreamUpdateCallback = (event: HistoricalPricingUpdateEvent) => void; export type StreamStatusCallback = () => void; export type StreamCompleteCallback = () => void; export type StreamErrorCallback = () => void; export declare const StreamEvent: { Refresh: "Refresh"; Status: "Status"; Update: "Update"; Complete: "Complete"; Error: "error"; StateChanged: "stateChanged"; }; export interface HistoricalPricingStreamEvents extends StateEvents { [StreamEvent.Refresh]: StreamRefreshCallback; [StreamEvent.Update]: StreamUpdateCallback; [StreamEvent.Status]: StreamStatusCallback; [StreamEvent.Complete]: StreamCompleteCallback; [StreamEvent.Error]: StreamErrorCallback; } export type Stream = StateManager & BaseStream;