import { MessageFromType } from './Command'; declare type MessageBase = { type: T; data: D; }; declare type TextMessage = MessageBase<'text', { text: string; }>; declare type AtMessage = MessageBase<'at', { qq: string; }>; declare type EmojiMessage = MessageBase<'emoji', { id: string; }>; declare type SmallFaceMessage = MessageBase<'sface', { id: string; }>; declare type FaceMessage = MessageBase<'face', { id: string; }>; declare type ImageMessage = MessageBase<'image', { file: string; url: string; }>; declare type RecordMessage = MessageBase<'record', { file: string; }>; declare type BigFaceMessage = MessageBase<'bface', { id: string; p: string; }>; declare type RichMessage = MessageBase<'rich', { content: string; }>; declare type DiceMessage = MessageBase<'dice', { type: string; }>; declare type RPSMessage = MessageBase<'rps', { type: string; }>; export declare type Message = TextMessage | AtMessage | RichMessage | FaceMessage | EmojiMessage | ImageMessage | RecordMessage | BigFaceMessage | SmallFaceMessage | DiceMessage | RPSMessage; export declare class CQMessageHelper { static normalizeMessage(message: Message[] | string): Message[]; static removeAt(message: Message[]): Message[]; static isAt(robotQQ: number, messages: Message[]): boolean; static toRawMessage(messages: Message[], removeAt?: boolean): string; static escapeTextMessage(message: TextMessage): TextMessage; } export declare class CQRawMessageHelper { static removeAt(str: string): string; static isFileMessage(str: string): { result: boolean; file?: string; path?: string; }; static parseCQ(cqStr: any): { func: string; params: Record; } | null; } export declare class CQMessageFromTypeHelper { static getMessageFromType({ message_type, sub_type }: { message_type: any; sub_type: any; }): MessageFromType; static isUserMessage(messageFromType: MessageFromType): boolean; static isQQGroupMessage(messageFromType: MessageFromType): boolean; static isQQGroupNormalMessage(messageFromType: MessageFromType): boolean; static isQQGroupAnonymousMessage(messageFromType: MessageFromType): boolean; } export {};