import { Lang } from './constants';
import { IBaseFanyiConfig } from '../../BaseFanyi';
export interface IBaiduFanyiConfig<L extends string = Lang> {
    /** 翻译的内容 */
    q: string;
    /** 开发者APP ID */
    appid: string;
    /** 开发者密钥 */
    key: string;
    /** 签名使用的盐值 */
    salt: string;
    /** 源语言 */
    from: L;
    /** 目标语言 */
    to: L;
    /** 请求内容签名 */
    sign: string;
}
export declare class BaiduFanyiReqConfig implements IBaiduFanyiConfig, IBaseFanyiConfig<Lang> {
    q: string;
    appid: string;
    salt: string;
    from: Lang;
    to: Lang;
    sign: string;
    key: string;
    constructor(config?: Partial<IBaiduFanyiConfig>);
    updateQuery(query?: string): this;
    updateAppId(appId?: string): this;
    updateSalt(salt?: string): this;
    updateFrom(from?: Lang): this;
    updateTo(to?: Lang): this;
    /**
     * 根据当前配置信息更新签名 sign 的值
     * @param sign 已确定的签名值，可选，推荐不传
     */
    updateSign(sign?: string): this;
    /**
     * 创建当前配置冻结副本
     */
    release(this: BaiduFanyiReqConfig): Readonly<Pick<BaiduFanyiReqConfig, "q" | "appid" | "salt" | "from" | "to" | "sign" | "key">>;
}
