import BaseService from '../core/BaseService';
import { DynamicCode, ModelPasswordTip, ModelRecord } from '../model';
import { Price } from '../model/common';
export default class CodeService extends BaseService {
    getPasswordTip(mid: any): Promise<ModelPasswordTip | null>;
    getBySign(sign: any): Promise<ModelRecord | null>;
    getById(id: number): Promise<DynamicCode | null>;
    getToUrlByDCodeId(id: number): Promise<any>;
    listDynamicCode(uid: number): Promise<DynamicCode[]>;
    getDynamicCode(uid: number, id: number): Promise<DynamicCode | null>;
    getDynamicCodeById(id: number): Promise<DynamicCode | null>;
    createModelCode(uid: number, code: any): Promise<any>;
    createDynamicCode(uid: number, code: {
        type: number;
        name: string;
        description: string;
        thumbUrl: string;
        url: string;
        to: any;
    }): Promise<any>;
    deleteDynamicCode(uid: number, id: number, meta: any): Promise<any>;
    isValidCodes(uid: number, ids?: number[]): Promise<boolean>;
    /**
     * 更新动态码指向
     * @param uid
     * @param id
     * @param code
     * @param transaction
     */
    updateDynamicCodeTo(uid: number, id: number, code: {
        type: number;
        to: any;
    }, transaction: any): Promise<any>;
    updateDynamicCode(uid: number, id: number, code: {
        type: number;
        name: string;
        description: string;
        thumbUrl: string;
        url: string;
    }): Promise<any>;
    /**
     * 通过时长代码获取
     * @param code
     * @param platform
     */
    getDynamicCodePayment(code?: string, platform?: number): Promise<any>;
    /**
     * 获取动态码价格信息
     * @param _id    动态码ID
     * @param code  动态码购买代码
     * @param platform
     */
    getDCodePrice(_id: number, code: string, platform?: number): Promise<Price[]>;
    /**
     * 获取动态码修改指向价格
     * @param id
     * @param platform
     */
    getDCodeChangeToPrice(id: number, platform?: number): Promise<Price[]>;
    /**
     * 获取动态码所有支付选项
     */
    getDCodePrices(platform?: number): Promise<unknown[]>;
    /**
     * 激活动态码
     * @param id 动态码ID
     * @param code  持续时间代码
     * @param t 事务实例
     */
    activeDCodePrice(id: number, code: string, t: any): Promise<DynamicCode>;
    /**
     * 给动态码添加拥有者
     * @param id
     * @param uid
     * @param t
     */
    addOwner(id: number, uid: number, t: any): Promise<DynamicCode>;
    isWhite(id: number): Promise<boolean>;
    private initDynamicCodePayment;
    private initDynamicCodeChangePayment;
    private genSign;
}
