import { MissionEvent } from "../enums/MissionEvent";
import { MissionType } from "../enums/MissionType";
import { BlockData } from "../response/nuke/BlockData";
/**
 * 基础参数1
 */
export interface NukeBaseParam {
    readonly __lib: string;
    readonly __act: string;
}
/**
 * 基础参数2
 */
export declare class NukeFuncParam {
    readonly raw = 3;
    readonly func: string;
    constructor(func: string);
}
export declare class DelAttachParam extends NukeFuncParam {
    readonly aid: string;
    readonly tid: number;
    readonly pid: number;
    /**
     * 构造函数
     * @param filename  附件文件名，url的最后一段
     * @param pid 回复id
     * @param tid 主题id
     */
    constructor(tid: number, pid: number, filename: string);
}
/**
 * 子版面屏蔽参数
 */
export declare class BlockSubForumParam implements NukeBaseParam {
    readonly info = "add_to_block_tids";
    readonly raw = 3;
    readonly type = 1;
    readonly __lib = "user_option";
    readonly __act: string;
    /**
     * 父版面id
     */
    readonly fid: number;
    /**
     * 添加屏蔽
     */
    add?: number;
    /**
     * 取消屏蔽
     */
    del?: number;
    constructor(act: "get" | "set", fid: number);
}
export declare class CheckInParam implements NukeBaseParam {
    readonly __lib = "check_in";
    readonly __act = "check_in";
}
export declare class CheckInStatusParam implements NukeBaseParam {
    readonly __lib = "check_in";
    readonly __act = "get_stat";
}
/**
 * 查询收藏夹列表参数
 */
export declare class FavorFolderListParam implements NukeBaseParam {
    readonly __lib = "topic_favor_v2";
    readonly __act = "list_folder";
    readonly uid: number;
    readonly page: number | "e";
    /**
     * 构造函数
     * @param uid 用户id
     * @param page 页数
     */
    constructor(uid: number, page: number | "e");
}
/**
 * 修改收藏夹列表参数
 */
export declare class FavorFolderModifyParam implements NukeBaseParam {
    readonly __lib = "topic_favor_v2";
    readonly __act = "modify_folder";
    readonly name: string;
    readonly opt: 1 | 0;
    readonly folder: number;
    /**
     * 构造函数
     * @param name 名称
     * @param isPublic 是否公开
     * @param folderId 收藏夹id
     */
    constructor(name: string, isPublic: boolean, folderId: number);
}
/**
 * 查询收藏版面参数
 */
export declare class FavorForumListParam implements NukeBaseParam {
    readonly __lib = "forum_favor2";
    readonly __act = "forum_favor";
    readonly action = "get";
}
/**
 * 修改收藏版面参数
 */
export declare class FavorForumEditParam implements NukeBaseParam {
    readonly __lib = "forum_favor2";
    readonly __act = "forum_favor";
    readonly fid?: number;
    readonly stid?: number;
    readonly action: "add" | "del";
    /**
     * 构造函数
     * @param action 添加或删除
     * @param type 是版面或合集
     * @param id 版面id或合集id
     */
    constructor(action: "add" | "del", type: "forum" | "col", id: number);
}
/**
 * 添加收藏参数
 */
export declare class FavorAddParam implements NukeBaseParam {
    readonly __lib = "topic_favor_v2";
    readonly __act = "add";
    readonly action = "add";
    readonly folder: number;
    readonly tid: number;
    readonly pid?: number;
    /**
     * 构造函数
     * @param folder 收藏夹id
     * @param tid 主题id
     * @param pid 回复id
     */
    constructor(folder: number, tid: number, pid?: number);
}
/**
 * 移除收藏参数
 */
export declare class FavorDelParam implements NukeBaseParam {
    readonly __lib = "topic_favor";
    readonly __act = "topic_favor";
    readonly action = "del";
    readonly raw = 3;
    readonly page: number;
    readonly tidarray: string;
    /**
     * 构造函数
     * @param page 需要移除的收藏在第几页
     * @param id 需要移除的主题id(回复id)
     */
    constructor(page: number, id: Array<{
        tid: number;
        pid?: number;
    }>);
}
export declare class MissionBaseParam implements NukeBaseParam {
    readonly __lib = "mission";
    readonly __act: string;
    constructor(_act: string);
}
/**
 * 任务查询参数
 */
export declare class MissionListParam extends MissionBaseParam {
    readonly available = 1;
    readonly event: MissionEvent;
    readonly type: number;
    constructor(event: MissionEvent, type: MissionType);
}
/**
 * 检查任务参数(签到类任务)
 */
export declare class MissionCheckInParam extends MissionBaseParam {
    readonly mid: number;
    readonly no_complete?: 1;
    /**
     * @param mid 任务id
     * @param no_complete 传1时不自动提交任务
     */
    constructor(mid: number, no_complete?: 1);
}
export declare class NoticeBaseParam implements NukeBaseParam {
    readonly __lib = "noti";
    readonly __act: string;
    constructor(_act: string);
}
export declare class NoticeListParam extends NoticeBaseParam {
    readonly raw = 3;
    readonly time_limit: number;
    /**
     * @param time_limit 时间戳，只返回该时间戳之后的提醒消息
     */
    constructor(time_limit: number);
}
export declare class NoticeStatusParam extends NoticeBaseParam {
    constructor();
}
export declare class NoticeClearParam extends NoticeBaseParam {
    readonly raw = 3;
    constructor();
}
export declare class NoticeEnableParam extends NoticeBaseParam {
    readonly no_hint: 1 | 0;
    readonly tid: number;
    readonly pid: number;
    /**
     * @param tid 主题id
     * @param pid 回复id
     * @param no_hint 是否屏蔽
     */
    constructor(tid: number, pid: number, no_hint: 1 | 0);
}
/**
 * 私信基础参数
 */
export declare class PmBaseParam implements NukeBaseParam {
    readonly __act = "message";
    readonly __lib = "message";
    readonly act: string;
    constructor(act: string);
}
export declare class PmBlockListParam extends PmBaseParam {
    constructor();
}
export declare class PmBlockDelParam extends PmBaseParam {
    readonly buids: number;
    constructor(userId: number);
}
export declare class PmBlockAddParam extends PmBaseParam {
    readonly buids: number;
    constructor(userId: number);
}
export declare class PmAddParam extends PmBaseParam {
    readonly mid: number;
    readonly to: string;
    /**
     * @param mid 消息id
     * @param userId 用户id
     */
    constructor(mid: number, userId: number[]);
}
export declare class PmKickParam extends PmBaseParam {
    readonly mid: number;
    readonly luid: number;
    /**
     * @param mid 消息id
     * @param userId 用户id
     */
    constructor(mid: number, userId: number);
}
export declare class PmListParam extends PmBaseParam {
    readonly page: number;
    constructor(page: number);
}
export declare class PmNewParam extends PmBaseParam {
    readonly subject: string;
    readonly content: string;
    readonly to: string;
    /**
     * @param subject 标题
     * @param content 正文
     * @param userId 用户id
     */
    constructor(subject: string, content: string, userId: number[]);
}
export declare class PmReadParam extends PmBaseParam {
    readonly mid: number;
    readonly page: number;
    /**
     * @param mid 消息id
     * @param page 页数，-1表示最后一页
     */
    constructor(mid: number, page: number);
}
export declare class PmReplyParam extends PmBaseParam {
    readonly mid: number;
    readonly subject: string;
    readonly content: string;
    /**
     * @param mid 消息id
     * @param subject 标题
     * @param content 正文
     */
    constructor(mid: number, subject: string, content: string);
}
export declare class TopicRecommendParam implements NukeBaseParam {
    readonly __act = "add";
    readonly __lib = "topic_recommend";
    readonly raw = 3;
    readonly tid: number;
    readonly pid: number;
    readonly value: 1 | -1;
    /**
     * @param tid 主题id
     * @param pid 回复id
     * @param value 赞 = 1 踩 = -1
     */
    constructor(tid: number, pid: number, value: 1 | -1);
}
export declare class SignatureSetParam implements NukeBaseParam {
    readonly __act = "set";
    readonly __lib = "set_sign";
    readonly raw = 3;
    readonly uid: number;
    readonly sign: string;
    /**
     * @param uid 用户名
     * @param sign 签名
     */
    constructor(uid: number, sign: string);
}
export declare class TopicKeyParam implements NukeBaseParam {
    readonly __act = "get";
    readonly __lib = "topic_key";
    readonly fid: number;
    constructor(fid: number);
}
export declare class UserInfoParam implements NukeBaseParam {
    readonly __act = "get";
    readonly __lib = "ucp";
    uid?: number;
    username?: string;
}
/**
 * 举报参数
 */
export declare class ReportParam implements NukeBaseParam {
    readonly __lib = "log_post";
    readonly __act = "report";
    readonly tid: number;
    readonly pid: number;
    readonly info?: string;
    /**
     * 构造函数
     * @param topicId 主题id
     * @param replyId 回复id
     * @param reason 理由
     */
    constructor(topicId: number, replyId: number, reason?: string);
}
/**
 * 查询版面权限参数
 */
export declare class PrivilegeListParam implements NukeBaseParam {
    readonly __act = "view";
    readonly __lib = "view_privilege";
    readonly fid: number;
    constructor(fid: number);
}
/**
 * 投票参数,多选时在voteid中传递多个选项id；投注时传选项id+投注数量
 */
export declare class VoteParam implements NukeBaseParam {
    readonly __act = "vote";
    readonly __lib = "vote";
    readonly raw = 3;
    readonly tid: number;
    readonly voteid: string;
    constructor(tid: number, voteid: number[]);
}
export declare class BlockDataListParam implements NukeBaseParam {
    readonly __act = "get_block_word";
    readonly __lib = "ucp";
    readonly uid: number;
    constructor(uid: number);
}
export declare class BlockDataSetParam implements NukeBaseParam {
    readonly __act = "set_block_word";
    readonly __lib = "ucp";
    readonly data: string;
    constructor(data: BlockData);
}
