import { CommandChannelAction } from '../../shared';

type SupportedChatFallbackActionType = 'TOGGLE-HAND' | 'LOWER-USER-HAND' | 'TOGGLE-TURN-QUEUE' | 'TOGGLE-CHAT' | 'CHANGE-SESSION-STATUS' | 'REQUEST-HOST-ROLE' | 'GRANT-PARTICIPATION' | 'REVOKE-PARTICIPATION' | 'REVOKE-VIDEO-PARTICIPATION' | 'INVITE-TO-PARTICIPATE' | 'SET-PINNED-USERS-FOR-EVERYONE' | 'PIN-FOR-EVERYONE' | 'UNPIN-FOR-EVERYONE';
export type SupportedChatFallbackAction = Extract<CommandChannelAction, {
    type: SupportedChatFallbackActionType;
}>;
type CommandEnvelope = {
    i: string;
    a: CommandChannelAction;
};
type DecodedChatFallback = {
    messageId: string;
    action: SupportedChatFallbackAction;
};
type ParsedCommandEnvelope = {
    messageId: string | null;
    action: CommandChannelAction;
};
export declare const CHAT_CONTROL_PREFIX = "!cc1|";
export declare const createTransportMessageId: () => string;
export declare const supportsChatControlFallback: (action: CommandChannelAction) => action is SupportedChatFallbackAction;
export declare const createCommandEnvelope: (action: CommandChannelAction, messageId: string) => CommandEnvelope;
export declare const parseCommandEnvelope: (payloadText: string) => ParsedCommandEnvelope | null;
export declare const encodeChatControlFallback: (action: SupportedChatFallbackAction, messageId: string) => string;
export declare const isChatControlFallbackMessage: (text: string | undefined | null) => boolean;
export declare const decodeChatControlFallback: (text: string) => DecodedChatFallback | null;
export {};
