/// <reference types="node" />
import type { Request, Result } from '../utils';
import type { Schedule } from '../model/schedule';
import type { AudioControl } from '../model/audio';
import type { Format, Thread, ThreadInfo } from '../model/forum';
import type { Channel, ChannelPermission, PrivateType, SpeakPermission } from '../model/channel';
import type { Message, MessageArk, MessageEmbed, MessageMarkdown, MessageReference, PinMessage } from '../model/message';
/**
 * @link https://bot.q.qq.com/wiki/develop/api-v2/server-inter/message/post_messages.html#%E9%80%9A%E7%94%A8%E5%8F%82%E6%95%B0
 */
export interface SendChannelMessageParams {
    /** 消息内容 */
    content?: string;
    /** embed 消息 */
    embed?: MessageEmbed;
    /** ark 消息对象 */
    ark?: MessageArk;
    /** 引用消息对象 */
    message_reference?: MessageReference;
    /** 图片 url 地址，平台会转存该图片，用于下发图片消息 */
    image?: string;
    /** 要回复的消息 id, 在 `at.create.message` 事件中获取。 */
    msg_id?: string;
    /** 要回复的事件 id, 在各事件对象中获取。 */
    event_id?: string;
    /** markdown 消息对象 */
    markdown?: MessageMarkdown;
    /** 通过文件上传的方式发送图片。 */
    file_image?: Blob;
}
export interface UpdateChannelMessageParams {
    /** 子频道名 */
    name?: string;
    /** 排序 */
    position?: number;
    /** 分组 id */
    parent_id?: string;
    /** 子频道私密类型 */
    private_type?: PrivateType;
    /** 子频道发言权限 */
    speak_permission?: SpeakPermission;
}
export interface ChannelOnlineNum {
    online_nums: number;
}
export interface UpdateChannelPermissionParams {
    /** 字符串形式的位图表示赋予用户的权限 */
    add: string;
    /** 字符串形式的位图表示删除用户的权限 */
    remove: string;
}
export interface ChannelScheduleParams {
    schedule: Omit<Schedule, 'id'>;
}
export interface ChannelMicParams {
    channel_id: string;
}
export interface ChannelThread {
    /** 帖子列表对象 */
    threads: Thread;
    /** 是否拉取完毕(0:否；1:是) */
    is_finish: number;
}
export interface CreateChannelThreadParams {
    /** 帖子标题 */
    title: string;
    /** 帖子内容 */
    content: string;
    /** 帖子文本格式 */
    format: Format;
}
declare const _default: (request: Request) => {
    /**
     * 用于向 channel_id 指定的子频道发送消息。
     */
    sendChannelMessage(channel_id: string, params: SendChannelMessageParams): Promise<Result<Message>>;
    /**
     * 用于撤回子频道 channel_id 下的消息 message_id。
     */
    deleteChannelMessage(channel_id: string, message_id: string, hidetip?: boolean): Promise<Result>;
    /**
     * 获取 channel_id 指定的子频道的详情。
     */
    getChannelInfo(channel_id: string): Promise<Result<Channel>>;
    /**
     * 修改 channel_id 指定的子频道的信息。
     */
    updateChannelInfo(channel_id: string, params: UpdateChannelMessageParams): Promise<Result<Channel>>;
    /**
     * 删除 channel_id 指定的子频道。
     */
    deleteChannel(channel_id: string): Promise<Result>;
    /**
     * 获取子频道在线成员数。
     */
    getChannelOnlineNum(channel_id: string): Promise<Result<ChannelOnlineNum>>;
    /**
     * 获取子频道 channel_id 下用户 user_id 的权限。
     */
    getChannelMemberPermission(channel_id: string, user_id: string): Promise<Result<ChannelPermission>>;
    /**
     * 用于修改子频道 channel_id 下用户 user_id 的权限。
     */
    updateChannelMemberPermission(channel_id: string, user_id: string, params: UpdateChannelPermissionParams): Promise<Result>;
    /**
     * 获取子频道 channel_id 下身份组 role_id 的权限。
     */
    getChannelRolePermission(channel_id: string, role_id: string): Promise<Result<ChannelPermission>>;
    /**
     * 修改子频道 channel_id 下身份组 role_id 的权限。
     */
    updateChannelRolePermission(channel_id: string, role_id: string, params: UpdateChannelPermissionParams): Promise<Result>;
    /**
     * 用于添加子频道 channel_id 内的精华消息。
     */
    addChannelPin(channel_id: string, message_id: string): Promise<Result<PinMessage>>;
    /**
     * 用于删除子频道 channel_id 下指定 message_id 的精华消息。
     */
    deleteChannelPin(channel_id: string, message_id: string): Promise<Result>;
    /**
     * 用于获取子频道 channel_id 内的精华消息。
     */
    getChannelPin(channel_id: string): Promise<Result<PinMessage>>;
    /**
     * 用于获取channel_id指定的子频道中当天的日程列表。
     */
    getChannelSchedule(channel_id: string, since?: number): Promise<Result<Schedule>>;
    /**
     * 获取日程子频道 channel_id 下 schedule_id 指定的的日程的详情。
     */
    getChannelScheduleInfo(channel_id: string, schedule_id: string): Promise<Result<Schedule>>;
    /**
     * 用于在 channel_id 指定的日程子频道下创建一个日程。
     */
    createChannelSchedule(channel_id: string, params: ChannelScheduleParams): Promise<Result<Schedule>>;
    /**
     * 用于修改日程子频道 channel_id 下 schedule_id 指定的日程的详情。
     */
    updateChannelSchedule(channel_id: string, schedule_id: string, params: ChannelScheduleParams): Promise<Result<Schedule>>;
    /**
     * 用于删除日程子频道 channel_id 下 schedule_id 指定的日程。
     */
    deleteChannelSchedule(channel_id: string, schedule_id: string): Promise<Result>;
    /**
     * 用于控制子频道 channel_id 下的音频。
     */
    channelAudioControl(channel_id: string, params: AudioControl): Promise<Result>;
    /**
     * 机器人在 channel_id 对应的语音子频道上麦。
     */
    channelMicOn(channel_id: string, params: ChannelMicParams): Promise<Result>;
    /**
     * 机器人在 channel_id 对应的语音子频道下麦。
     */
    channelMicOff(channel_id: string, params: ChannelMicParams): Promise<Result>;
    /**
     * 该接口用于获取子频道下的帖子列表。
     */
    getChannelThread(channel_id: string): Promise<Result<ChannelThread>>;
    /**
     * 该接口用于获取子频道下的帖子详情。
     */
    getChannelThreadInfo(channel_id: string, thread_id: string): Promise<Result<ThreadInfo>>;
    /**
     * 发表帖子。
     */
    createChannelThread(channel_id: string, params: CreateChannelThreadParams): Promise<Result<ChannelThread>>;
    /**
     * 用于删除指定子频道下的某个帖子。
     */
    deleteChannelThread(channel_id: string, thread_id: string): Promise<Result>;
};
export default _default;
