import { AccessToken } from '@tnwx/accesstoken';
/**
 * @author Javen
 * @copyright javendev@126.com
 * @description 素材管理
 */
export declare class MediaApi {
    private static uploadUrl;
    /**
     * 新增临时素材
     * @param filePath
     * @param mediaType
     * @param accessToken
     */
    static uploadMedia(filePath: string, mediaType: MediaType, accessToken?: AccessToken): Promise<any>;
    private static getUrl;
    /**
     * 获取临时素材
     * @param mediaId
     * @param accessToken
     */
    static getMedia(mediaId: string, accessToken?: AccessToken): Promise<any>;
    private static get_jssdk_url;
    /**
     * 高清语音素材获取接口
     * 公众号可以使用本接口获取从JSSDK的uploadVoice接口上传的临时语音素材，格式为speex，16K采样率。
     * 该音频比上文的临时素材获取接口（格式为amr，8K采样率）更加清晰，适合用作语音识别等对音质要求较高的业务。
     * @param mediaId
     * @param accessToken
     */
    static getJssdkMedia(mediaId: string, accessToken?: AccessToken): Promise<any>;
    private static add_news;
    /**
     * 新增永久图文素材
     * @param mediaId
     * @param accessToken
     */
    static uploadNews(mediaArticles: MediaArticles[], accessToken?: AccessToken): Promise<any>;
    private static update_news;
    /**
     * 修改永久图文素材
     * @param mediaId 要修改的图文消息的id
     * @param index 要更新的文章在图文消息中的位置（多图文消息时，此字段才有意义），第一篇为0
     * @param mediaArticles
     * @param accessToken
     */
    static updateNews(mediaId: string, index: number, mediaArticles: MediaArticles, accessToken?: AccessToken): Promise<any>;
    private static uploadImgUrl;
    /**
     * 上传图文消息内的图片获取URL
     * 本接口所上传的图片不占用公众号的素材库中图片数量的5000个的限制。
     * 图片仅支持jpg/png格式，大小必须在1MB以下。
     * @param filePath
     * @param accessToken
     */
    static uploadImg(filePath: string, accessToken?: AccessToken): Promise<any>;
    private static addMaterialUrl;
    /**
     * 新增其他类型永久素材
     * 如果是添加视频请使用 addVideoMaterial
     *
     * @param filePath
     * @param mediaType
     * @param accessToken
     */
    static addMaterial(filePath: string, mediaType: MediaType, accessToken?: AccessToken): Promise<any>;
    /**
     * 新增 video 类型永久素材
     * @param filePath
     * @param title
     * @param introduction
     * @param accessToken
     */
    static addVideoMaterial(filePath: string, title: string, introduction: string, accessToken?: AccessToken): Promise<any>;
    private static getMaterialUrl;
    /**
     * 获取永久素材
     * @param mediaId
     * @param accessToken
     */
    static getMaterial(mediaId: string, accessToken?: AccessToken): Promise<any>;
    private static delMaterialUrl;
    /**
     * 删除永久素材
     * @param mediaId
     * @param accessToken
     */
    static delMaterial(mediaId: string, accessToken?: AccessToken): Promise<any>;
    private static getMaterialCountUrl;
    /**
     * 获取素材总数
     * @param accessToken
     */
    static getMaterialCount(accessToken?: AccessToken): Promise<any>;
    private static batchGetMaterialUrl;
    /**
     * 获取素材列表
     * @param mediaType 素材的类型，图片（image）、视频（video）、语音 （voice）、图文（news）
     * @param offset 从全部素材的该偏移位置开始返回，0表示从第一个素材 返回
     * @param count 返回素材的数量，取值在1到20之间
     * @param accessToken
     */
    static batchGetMaterial(mediaType: MediaType, offset?: number, count?: number, accessToken?: AccessToken): Promise<any>;
}
/**
 * 上传临时素材的格式、大小限制与公众平台官网一致
 * 图片（image）: 2M，支持PNG\JPEG\JPG\GIF格式
 * 语音（voice）：2M，播放长度不超过60s，支持AMR\MP3格式
 * 视频（video）：10MB，支持MP4格式
 * 缩略图（thumb）：64KB，支持JPG格式
 */
export declare enum MediaType {
    IMAGE = "image",
    VOICE = "voice",
    VIDEO = "video",
    THUMB = "thumb",
    NEWS = "news"
}
export declare class MediaArticles {
    private title;
    private thumb_media_id;
    private author;
    private digest;
    private show_cover_pic;
    private content;
    private content_source_url;
    private need_open_comment;
    private only_fans_can_comment;
    constructor(title: string, thumb_media_id: string, show_cover_pic: boolean, content: string, content_source_url: string, author?: string, digest?: string, need_open_comment?: number, only_fans_can_comment?: number);
}
