import { ClientInfo } from "./domain"; export declare const ProtocolNames: { PLEASE_AUTHENTICATE: "direct:pleaseAuthenticate"; CLIENT_AUTHENTICATE: "client:authenticate"; YOU_ARE_CONNECTED: "direct:youAreConnected"; MESSAGE: "!!:message"; NEW_CLIENT_CONNECTED: "global:newClientConnected"; STATE_UPDATED: "global:stateUpdated"; }; export interface MessageEnvelope { messageName: string; messageBody: {}; } export interface Event { type: TType; payload: TPayload; } export interface Message { type: TType; payload: TPayload; } export interface RequestMessage extends Message { requestId: string; } export declare type Response = { data?: TData; error?: string; }; export interface AuthenticatePayload { clientId: string; clientSecret: string; } export interface AuthenticateMessage extends Message<"client:authenticate", AuthenticatePayload> { } export interface ClientConnectedPayload extends ClientInfo { } export interface ClientConnectedEvent extends Event<"global:newClientConnected", ClientConnectedPayload> { } export interface StateUpdatedPayload { pluginName: string; newState: object; } export interface StateUpdatedEvent extends Event<"global:stateUpdated", StateUpdatedPayload> { } export declare function generateResponseId(): string; export declare function responseEventName(id: string): string;