import { DeepReadonly } from '../utils/typeUtils'; /** * Channel subscribe request element. */ export interface ChannelSubscribeRequest { /** * channel identifier */ c: string; /** * member */ m?: any; /** * apiLevel */ a?: number; } export interface PublishPackage { /** * The event name. */ e: string; /** * Published data. */ d?: any; /** * PublisherSid */ p?: string | null; } /** * Actions that a server can send to another server. */ export declare const enum ChServerAction { /** * New publish. */ publish = 0, /** * Recheck member access request. */ recheckMemberAccess = 1, /** * Close the Channel */ close = 2 } /** * A package that a worker can send to the other workers. */ export interface ChServerPackage { /** * action */ 0: ChServerAction; /** * data */ 1?: any; } /** * A publish package that a server can send to the other servers. */ export interface ChServerPublishPackage extends ChServerPackage { /** * action */ 0: ChServerAction.publish; /** * Publish */ 1: PublishPackage; } /** * Recheck member access request package that the server can send to other servers. */ export interface ChServerRecheckMemberAccessPackage extends ChServerPackage { /** * action */ 0: ChServerAction.recheckMemberAccess; } /** * A close package that a worker can send to the other workers. */ export interface ChServerClosePackage extends ChServerPackage { /** * action */ 0: ChServerAction.close; /** * Close */ 1: ChClientOutputClosePackage; } /** * Actions that a client can send to the server. */ export declare const enum ChClientInputAction { Unsubscribe = 0 } /** * The package that the client can send to the server to invoke an action. */ export interface ChClientInputPackage { /** * Action */ 0: ChClientInputAction; } export declare const CH_CLIENT_OUTPUT_PUBLISH = "C.P>"; export interface ChClientOutputPublishPackage { /** * Channel id */ i: string; /** * Event */ e: string; /** * Data */ d?: any; } export declare const CH_CLIENT_OUTPUT_KICK_OUT = "C.K>"; export interface ChClientOutputKickOutPackage { /** * Channel id */ i: string; /** * code */ c?: number | string; /** * metadata */ m?: any; } export declare const CH_CLIENT_OUTPUT_CLOSE = "C.C>"; export interface ChClientOutputClosePackage { /** * Channel id */ i: string; /** * code */ c?: number | string; /** * metadata */ m?: any; } export declare type UnsubscribeSocketFunction = (trigger: UnsubscribeTrigger) => void; export declare enum UnsubscribeTrigger { Client = 0, Disconnect = 1, KickOut = 2, Close = 3 } /** * The Channel info object. */ export interface ChannelInfo { identifier: string; /** * Notice that the member is deep readonly and only given in non-static components. */ member?: any; } /** * Internal member wrapper interface. */ export interface ChMember { memberStr: string; member: DeepReadonly; } export declare const CHANNEL_START_INDICATOR = "C>"; export declare const CHANNEL_MEMBER_SPLIT = ".";