import { ServerConnection } from "./ServerConnection.js"; import { ChannelListener } from "./ChannelListener.js"; import { GraphQLSubscriptionExtension } from "./GraphQLSubscriptionExtension.js"; import { SessionExtension } from "./SessionExtension.js"; import { TokenManagementExtension } from "./TokenManagementExtension.js"; import { Logger } from "../../util/Logger.js"; export type SubscriptionConfig = { subscriptionCallback?: Function; serializedGraphQLSubscription?: any; subscribeOptionsCallback?: Function; }; export declare class MessageClient { _cometd: any; graphQLSubscriptionExtension: GraphQLSubscriptionExtension; sessionExtension: SessionExtension; tokenManagementExtension: TokenManagementExtension; serverConnection: ServerConnection; _logger: Logger; connected: boolean; constructor(); getServerConnection(): ServerConnection; isLoggedIn(): boolean; loginComplete(): void; reestablishSession(): void; /** * Server Connection */ connect(): void; reload(): void; abort(): void; disconnect(): void; isConnected(): boolean; /** * Connection Events */ getConnectionEvents(): any; subscribeToEvent(/*String*/ event: string, /*Function*/ callback: Function): number; unsubscribeFromEvent(/*Number*/ id: number): void; getConnectionState(): string; /** * Client info */ getClientId(): string; /** * Channels */ getChannel(channelName: string, subscriptionConfig: SubscriptionConfig): ChannelListener; removeChannel(channelName: string): void; getChannels(): any; extendSession(): void; getTokenManagementExtension(): TokenManagementExtension; /** * Extensions */ registerExtension(extensionName: string, extension: any): void; unregisterExtension(extensionName: string): void; /** * Utility */ /** * Executes messages in a batch. * * block is an anonymous function, containing a chain of messages to be posted * together, and executed in sequence * * Example: * block = function() { * channel.subscribe(); * channel.publish({ user: 'Fred', message: 'Fred has joined the channel' }); * } */ batch(block: Function): void; }