import type { Room, RoomUser } from '../../room';
import type { MessageStanza } from '../../stanza';
import { Handler } from '../abstract';
declare abstract class HandlerCommand extends Handler {
    protected commandNames: string[];
    protected readonly roomCommand: (command: string, parameters: string[], stanza: MessageStanza, fromUser: RoomUser) => void;
    constructor(id: string, room: Room, options: any);
    loadOptions(options: any): void;
    start(): void;
    stop(): void;
    protected abstract handleCommand(command: string, parameters: string[], stanza: MessageStanza, user: RoomUser): void;
}
export { HandlerCommand };
