import { ExtendedParams } from '../../content/base-interfaces'; import { Session } from '../../session/session'; import { StateEvents, StateManager } from '../../state'; import { OMMRefreshResponse, OMMStatusResponse, OMMUpdateResponse } from './protocol/omm-types'; export interface OMMStreamRequestParams extends ExtendedParams { name: string; service?: string; domain?: string; streaming?: boolean; fields?: string[]; filter?: number; api?: string; expandEnum?: boolean; } export declare const DEFAULT_OMM_STREAMING_CONNECTION_NAME = "streaming/pricing/main"; export interface OMMStreamRequiredParams { session: Session; name: string; } declare const Status: 'Status'; declare const Update: 'Update'; declare const Refresh: 'Refresh'; export declare const OMMStreamEvent: { Refresh: "Refresh"; Status: "Status"; Update: "Update"; Complete: "Complete"; Error: "error"; StateChanged: "stateChanged"; }; export type OMMStreamRefreshCb = (data: OMMRefreshResponse, stream: OMMStream) => void; export type OMMStreamStatusCb = (data: OMMStatusResponse, stream: OMMStream) => void; export type OMMStreamUpdateCb = (data: OMMUpdateResponse, stream: OMMStream) => void; export type OMMStreamCompleteCb = (stream: OMMStream) => void; export type OMMStreamErrorCb = (error: Error, stream: OMMStream) => void; export interface OMMStreamEvents extends StateEvents { [Refresh]: OMMStreamRefreshCb; [Update]: OMMStreamUpdateCb; [Status]: OMMStreamStatusCb; [OMMStreamEvent.Error]: OMMStreamErrorCb; [OMMStreamEvent.Complete]: OMMStreamCompleteCb; } export interface OMMStream extends StateManager { readonly name: string; onRefresh(cb: OMMStreamRefreshCb): this; onUpdate(cb: OMMStreamUpdateCb): this; onStatus(cb: OMMStreamStatusCb): this; onError(cb: OMMStreamErrorCb): this; onComplete(cb: OMMStreamCompleteCb): this; } export interface OMMStreamDefinition { getStream(session?: Session): OMMStream; } export {};