/**
 * Cross-Channel Message Tool
 *
 * Provides unified messaging operations (send, react, pin, thread, search,
 * role management, kick, ban) across all supported channels.
 */
export type MessageAction = 'send' | 'react' | 'pin' | 'thread_create' | 'search' | 'role_add' | 'kick' | 'ban';
export interface MessageTarget {
    channel: string;
    chatId: string;
    userId?: string;
}
export interface MessageToolResult {
    success: boolean;
    action: MessageAction;
    messageId?: string;
    error?: string;
}
interface RecordedAction {
    action: MessageAction;
    target: MessageTarget;
    timestamp: number;
    details: Record<string, unknown>;
}
export declare class MessageTool {
    private static instance;
    private actions;
    private supportedChannels;
    static getInstance(): MessageTool;
    static resetInstance(): void;
    send(target: MessageTarget, text: string): MessageToolResult;
    react(target: MessageTarget, messageId: string, emoji: string): MessageToolResult;
    pin(target: MessageTarget, messageId: string): MessageToolResult;
    threadCreate(target: MessageTarget, messageId: string, text: string): MessageToolResult;
    search(target: MessageTarget, query: string): MessageToolResult;
    roleAdd(target: MessageTarget, userId: string, role: string): MessageToolResult;
    kick(target: MessageTarget, userId: string, reason?: string): MessageToolResult;
    ban(target: MessageTarget, userId: string, reason?: string): MessageToolResult;
    getActions(): RecordedAction[];
    getSupportedChannels(): string[];
}
export {};
