import { ExtendedParams } from '../../content/base-interfaces'; import { Session } from '../../session'; import { StateEvents, StateManager } from '../../state'; import { RDPAckResponse, RDPAlarmResponse, RDPResponseResponse, RDPUpdateResponse } from './protocol/rdp-types'; export interface RDPStreamRequestParams extends ExtendedParams { universe: string | string[] | object | object[]; service?: string; context?: string; fields?: string[]; parameters?: object; api?: string; } export declare const DEFAULT_RDP_STREAMING_CONNECTION_NAME = "streaming/quantitative-analytics/financial-contracts"; declare const Ack = "Ack"; declare const Update = "Update"; declare const Response = "Response"; declare const Alarm = "Alarm"; export declare const RDPStreamEvent: { readonly Ack: "Ack"; readonly Response: "Response"; readonly Update: "Update"; readonly Alarm: "Alarm"; readonly Complete: "Complete"; readonly Error: "error"; readonly StateChanged: "stateChanged"; }; export type RDPStreamMessageEvent = typeof Response | typeof Ack | typeof Update; export type RDPStreamResponseCb = (data: RDPResponseResponse, stream: RDPStream) => void; export type RDPStreamUpdateCb = (data: RDPUpdateResponse, stream: RDPStream) => void; export type RDPStreamAckCb = (data: RDPAckResponse, stream: RDPStream) => void; export type RDPStreamAlarmCb = (data: RDPAlarmResponse, stream: RDPStream) => void; export type RDPStreamErrorCb = (error: Error, stream: RDPStream) => void; export type RDPStreamCompleteCb = (stream: RDPStream) => void; export interface RDPStreamEvents extends StateEvents { [Response]: RDPStreamResponseCb; [Update]: RDPStreamUpdateCb; [Ack]: RDPStreamAckCb; [Alarm]: RDPStreamAlarmCb; [RDPStreamEvent.Error]: RDPStreamErrorCb; [RDPStreamEvent.Complete]: RDPStreamCompleteCb; } export interface RDPStream extends StateManager { readonly universe?: string | object; onResponse(cb: RDPStreamResponseCb): this; onUpdate(cb: RDPStreamUpdateCb): this; onAck(cb: RDPStreamAckCb): this; onAlarm(cb: RDPStreamAlarmCb): this; onError(cb: RDPStreamErrorCb): this; onComplete(cb: RDPStreamCompleteCb): this; modify(params: RDPStreamRequestParams): void; } export interface RDPStreamDefinition { getStream(session?: Session): RDPStream; } export {};