import { Context, Bot, Fragment, Schema, Universal } from 'koishi';
import { SendOptions } from '@satorijs/protocol';
import { WsClient } from './ws';
import { InternalType } from './internal';
export declare class IIROSE_Bot<C extends Context = Context, T extends IIROSE_Bot.Config = IIROSE_Bot.Config> extends Bot<C, T> {
    platform: string;
    socket: WebSocket | undefined;
    addData: {
        uid: string;
        username: string;
        avatar: string;
        room: string;
        color: string;
        data: Record<string, any>;
    }[];
    static inject: string[];
    static usage: string;
    constructor(ctx: C, config: T);
    sendMessage(channelId: string, content: Fragment, guildId?: string, options?: SendOptions): Promise<string[]>;
    sendPrivateMessage(userId: string, content: Fragment, guildId?: string, options?: SendOptions): Promise<string[]>;
    getSelf(): Promise<Universal.User>;
    getUser(userId: string, guildId?: string): Promise<Universal.User>;
    getMessage(channelId: string, messageId: string): Promise<import("./messageTemp").MessageInfo>;
    kickGuildMember(guildId: string, userName: string, permanent?: boolean): Promise<void>;
    muteGuildMember(guildId: string, userName: string, duration: number, reason?: string): Promise<void>;
    deleteMessage(channelId: string, messageId: string): Promise<void>;
    internal: InternalType;
}
export declare namespace IIROSE_Bot {
    interface Config extends WsClient.Config {
        picToken: any;
        usename: string;
        password: string;
        roomId: string;
        roomPassword: string;
        oldRoomId?: string;
        uid: string;
        Signature: string;
        color: string;
        timeout: number;
        timeoutPlus: number;
        hangUpMode: boolean;
        debugMode: boolean;
        smStart: boolean;
        smPassword: string;
        smRoom: string;
        smUsername: string;
        smImage: string;
        smColor: string;
        smGender: string;
        smst: string;
        smmo: string;
        smUid: string;
        smli: string;
        smmb: string;
        smmu: string;
        smLocation: string;
        smvc: string;
    }
    const Config: Schema<any>;
}
