import { IIROSE_Bot } from './bot';
import * as eventType from './event';
import { Universal } from "koishi";
import { Forum } from '../decoder/messages/Forum';
import { Store } from '../decoder/messages/Store';
import { Tasks } from '../decoder/messages/Tasks';
import { Moments } from '../decoder/messages/Moments';
import { SelfInfo } from '../decoder/messages/SelfInfo';
import { Stock } from '../decoder/messages/Stock';
import { UserMoments } from '../decoder/messages/UserMoments';
import { Leaderboard } from '../decoder/messages/Leaderboard';
import { SellerCenter } from '../decoder/messages/SellerCenter';
import { PaymentCallback } from "../encoder/user/payment";
import { ProfileData } from '../encoder/user/profile/updateSelfInfo';
import { GradeUserCallback } from '../decoder/messages/GradeUserCallback';
import { UserProfileByName } from '../decoder/messages/UserProfileByName';
import { BankCallback } from '../decoder/messages/BankCallback';
import { MediaListItem } from '../encoder/system/media/getMusicList';
import { FollowList } from '../encoder/user/follow/followList';
export declare class Internal {
    bot: IIROSE_Bot;
    constructor(bot: IIROSE_Bot);
    send(data: any): Promise<void>;
    /**
     * 移动到指定房间
     * @param moveData
     * @returns
     */
    moveRoom(moveData: eventType.move): Promise<void>;
    kick(kickData: eventType.kickData): void;
    cutOne(cutOne?: eventType.cutOne): void;
    cutAll(): void;
    setMaxUser(setMaxUser?: eventType.setMaxUser): void;
    whiteList(whiteList: eventType.whiteList): void;
    broadcast(broadcast: eventType.broadcast): void;
    makeMusic(musicOrigin: eventType.musicOrigin): void;
    stockBuy(numberData: number): void;
    stockSell(numberData: number): void;
    stockGet(): Promise<Stock | null>;
    bankGet(): Promise<BankCallback | null>;
    bankDeposit(amount: number): void;
    bankWithdraw(amount: number): void;
    payment(uid: string, money: number, message?: string): Promise<PaymentCallback | null>;
    /**
     * 点赞用户
     * @param uid 用户uid
     * @param message 附带消息
     */
    sendLike(uid: string, message?: string): void;
    /**
     * 点踩用户
     * @param uid 用户uid
     * @param message 附带消息
     */
    sendDislike(uid: string, message?: string): void;
    /**
     * 关注用户
     * @param uid 用户uid
     */
    followUser(uid: string): void;
    /**
     * 取消关注用户
     * @param uid 用户uid
     */
    unfollowUser(uid: string): void;
    /**
     * 为用户打分
     * @param uid 用户uid
     * @param score 分数
     */
    gradeUser(uid: string, score: number): Promise<GradeUserCallback | null>;
    /**
     * 取消为用户打分
     * @param uid 用户uid
     */
    cancelGradeUser(uid: string): Promise<boolean>;
    /**
     * 获取用户动态
     * @param uid 用户uid
     */
    getUserMomentsByUid(uid: string): Promise<UserMoments | null>;
    getUserByName(name: string): Promise<Universal.User | undefined>;
    /**
     * 获取 userlist.json 的内容
     * @returns userlist.json 的解析后数据
     */
    getUserListFile(): Promise<any>;
    /**
     * 获取 roomlist.json 的内容
     * @returns roomlist.json 的解析后数据
     */
    getRoomListFile(): Promise<any>;
    /**
     * 获取房间地址
     * @returns {string} 房间ID
     */
    getRoomId(): string;
    /**
     * 订阅房间
     * @param roomId 房间ID
     */
    subscribeRoom(roomId: string): void;
    /**
     * 取消订阅房间
     * @param roomId 房间ID
     */
    unsubscribeRoom(roomId: string): void;
    /**
     * 获取用户关注和粉丝列表
     * @param uid 用户uid
     */
    getFollowList(uid: string): Promise<FollowList | null>;
    /**
     * 获取自身账号信息
     */
    getSelfInfo(): Promise<SelfInfo | null>;
    /**
     * 修改自身账号信息
     * @param profileData 个人资料
     */
    updateSelfInfo(profileData: ProfileData): Promise<boolean>;
    /**
     * 查询当前频道的歌单
     */
    getMusicList(): Promise<MediaListItem[] | null>;
    /**
     * 查询论坛
     */
    getForum(): Promise<Forum | null>;
    /**
     * 查询任务
     */
    getTasks(): Promise<Tasks | null>;
    /**
     * 查询朋友圈
     */
    getMoments(): Promise<Moments | null>;
    /**
     * 查询排行榜
     */
    getLeaderboard(): Promise<Leaderboard | null>;
    /**
     * 查询商店
     */
    getStore(): Promise<Store | null>;
    /**
     * 查询卖家中心
     */
    getSellerCenter(): Promise<SellerCenter | null>;
    /**
     * 加入购物车
     * @param itemId 商品ID
     */
    addToCart(itemId: string): Promise<boolean>;
    /**
     * 移除购物车
     * @param itemId 商品ID
     */
    removeFromCart(itemId: string): Promise<boolean>;
    /**
     * 查询等待付款的订单
     */
    getPendingPaymentOrders(): Promise<string | null>;
    /**
     * 查询待收货的订单
     */
    getPendingReceiptOrders(): Promise<string | null>;
    /**
     * 查询等待确认的订单
     */
    getPendingConfirmationOrders(): Promise<string | null>;
    /**
     * 查询等待评价的订单
     */
    getPendingReviewOrders(): Promise<string | null>;
    /**
     * 查询已完成的订单
     */
    getCompletedOrders(): Promise<string | null>;
    /**
     * 查询售后中的订单
     */
    getAfterSaleOrders(): Promise<string | null>;
    /**
     * 查询收藏夹
     */
    getFavorites(): Promise<string | null>;
    /**
     * 查询关注店铺
     */
    getFollowedStores(): Promise<string | null>;
    /**
     * 查询自身余额
     */
    getBalance(): Promise<number | null>;
    /**
     * 召唤骰子
     * @param diceId 骰子ID (0-7)
     */
    summonDice(diceId: number): void;
    /**
     * 通过用户名获取用户资料
     * @param username 用户名
     */
    getUserProfileByName(username: string): Promise<UserProfileByName | null>;
}
export interface InternalType {
    moveRoom(moveData: eventType.move): Promise<void>;
    kick(kickData: eventType.kickData): void;
    cutOne(cutOne?: eventType.cutOne): void;
    cutAll(): void;
    setMaxUser(setMaxUser?: eventType.setMaxUser): void;
    whiteList(whiteList: eventType.whiteList): void;
    broadcast(broadcast: eventType.broadcast): void;
    makeMusic(musicOrigin: eventType.musicOrigin): void;
    stockBuy(numberData: number): void;
    stockSell(numberData: number): void;
    stockGet(): Promise<Stock | null>;
    bankGet(): Promise<BankCallback | null>;
    bankDeposit(amount: number): void;
    bankWithdraw(amount: number): void;
    payment(uid: string, money: number, message?: string): Promise<PaymentCallback | null>;
    sendLike(uid: string, message?: string): void;
    sendDislike(uid: string, message?: string): void;
    followUser(uid: string): void;
    unfollowUser(uid: string): void;
    gradeUser(uid: string, score: number): Promise<GradeUserCallback | null>;
    cancelGradeUser(uid: string): Promise<boolean>;
    getUserMomentsByUid(uid: string): Promise<UserMoments | null>;
    getUserByName(name: string): Promise<Universal.User | undefined>;
    getUserListFile(): Promise<any>;
    getRoomListFile(): Promise<any>;
    getRoomId(): string;
    subscribeRoom(roomId: string): void;
    unsubscribeRoom(roomId: string): void;
    getFollowList(uid: string): Promise<FollowList | null>;
    getSelfInfo(): Promise<SelfInfo | null>;
    updateSelfInfo(profileData: ProfileData): Promise<boolean>;
    getMusicList(): Promise<MediaListItem[] | null>;
    getForum(): Promise<Forum | null>;
    getTasks(): Promise<Tasks | null>;
    getMoments(): Promise<Moments | null>;
    getLeaderboard(): Promise<Leaderboard | null>;
    getStore(): Promise<Store | null>;
    getSellerCenter(): Promise<SellerCenter | null>;
    addToCart(itemId: string): Promise<boolean>;
    removeFromCart(itemId: string): Promise<boolean>;
    getPendingPaymentOrders(): Promise<string | null>;
    getPendingReceiptOrders(): Promise<string | null>;
    getPendingConfirmationOrders(): Promise<string | null>;
    getPendingReviewOrders(): Promise<string | null>;
    getCompletedOrders(): Promise<string | null>;
    getAfterSaleOrders(): Promise<string | null>;
    getFavorites(): Promise<string | null>;
    getFollowedStores(): Promise<string | null>;
    getBalance(): Promise<number | null>;
    summonDice(diceId: number): void;
    getUserProfileByName(username: string): Promise<UserProfileByName | null>;
}
