import { BaseApi, IApi, IApiPayload, IApp } from "@etsoo/appscript";
import { SendEmailInputRQ } from "./rq/authCode/SendEmailRQ";
import { SendSMSInputRQ } from "./rq/authCode/SendSMSRQ";
import { IActionResult } from "@etsoo/shared";
/**
 * Auth Code Send Result
 * 验证码发送结果
 */
export type AuthCodeSendResult = IActionResult<{
    id: string;
    recipient: string;
}>;
/**
 * Auth Code API
 * 验证码接口
 */
export declare class AuthCodeApi extends BaseApi {
    /**
     * Constructor
     * @param app Application
     * @param api API
     */
    constructor(app: IApp, api?: IApi);
    /**
     * Send email
     * @param rq Request data
     * @param payload Payload
     * @returns Result
     */
    sendEmail(rq: SendEmailInputRQ, payload?: IApiPayload<AuthCodeSendResult>): Promise<AuthCodeSendResult | undefined>;
    /**
     * Send SMS
     * @param rq Request data
     * @param payload Payload
     * @returns Result
     */
    sendSMS(rq: SendSMSInputRQ, payload?: IApiPayload<AuthCodeSendResult>): Promise<AuthCodeSendResult | undefined>;
}
