import { EntityApi, IApp, IdResultPayload, QueryRQ, ResultPayload, StringIdResultPayload } from "@etsoo/appscript";
import { IApi, IApiPayload } from "@etsoo/restclient";
import { DeviceListDto } from "./dto/user/DeviceListDto";
import { AuditHistoryRQ } from "./rq/user/AuditHistoryRQ";
import { AuditHistoryDto } from "./dto/user/AuditHistoryDto";
import { AppData } from "./dto/app/AppData";
import { UserIdentifierData } from "./dto/user/UserIdentifierData";
import { ValidateRQ } from "./rq/authCode/ValidateRQ";
import { UserUpdateReadDto } from "./dto/user/UserUpdateReadDto";
import { UserUpdateRQ } from "./rq/user/UserUpdateRQ";
/**
 * User API
 * 用户接口
 */
export declare class UserApi extends EntityApi {
    /**
     * Constructor
     * @param app Application
     * @param api API
     */
    constructor(app: IApp, api?: IApi);
    /**
     * Add email
     * @param rq Request data
     * @param payload Payload
     * @returns Result
     */
    addEmail(rq: ValidateRQ, payload?: ResultPayload): Promise<import("@etsoo/shared").IActionResult<{}> | undefined>;
    /**
     * Add mobile
     * @param rq Request data
     * @param payload Payload
     * @returns Result
     */
    addMobile(rq: ValidateRQ, payload?: ResultPayload): Promise<import("@etsoo/shared").IActionResult<{}> | undefined>;
    /**
     * Get all user identifiers
     * @param payload Payload
     * @returns Result
     */
    allIdentifiers(payload?: IApiPayload<UserIdentifierData[]>): Promise<UserIdentifierData[] | undefined>;
    /**
     * Audit history
     * @param rq Request data
     * @param payload Payload
     * @returns Result
     */
    auditHistory(rq: AuditHistoryRQ, payload?: IApiPayload<AuditHistoryDto[]>): Promise<AuditHistoryDto[] | undefined>;
    /**
     * Check app session
     * @param payload Payload
     * @returns Result
     */
    checkSession(payload?: IdResultPayload): Promise<import("@etsoo/shared").IdActionResult | undefined>;
    /**
     * Delete user identifier
     * @param id Identifier id
     * @param payload Payload
     * @returns Result
     */
    deleteIdentifier(id: number, payload?: IdResultPayload): Promise<import("@etsoo/shared").IdActionResult | undefined>;
    /**
     * Device list
     * @param rq Request data
     * @param payload Payload
     * @returns Result
     */
    deviceList(rq: QueryRQ, payload?: IApiPayload<DeviceListDto[]>): Promise<DeviceListDto[] | undefined>;
    /**
     * Get user's current apps
     * 获取用户当前应用
     * @param payload Payload
     * @returns Result
     */
    getCurrentApps(payload?: IApiPayload<AppData[]>): Promise<AppData[] | undefined>;
    /**
     * Get user latest app
     * 获取用户最新应用
     * @param payload Payload
     * @returns Result
     */
    getLatestApp(payload?: IApiPayload<AppData>): Promise<AppData | undefined>;
    /**
     * Update
     * @param rq Request data
     * @param payload Payload
     * @returns Result
     */
    update(rq: UserUpdateRQ, payload?: IdResultPayload): Promise<import("@etsoo/shared").IdActionResult | undefined>;
    /**
     * Update avatar
     * @param data Avatar form data
     * @param payload Payload
     * @returns Result
     */
    updateAvatar(data: FormData, payload?: StringIdResultPayload): Promise<import("@etsoo/shared").IdActionResult<string> | undefined>;
    /**
     * Update read
     * @param payload Payload
     * @returns Result
     */
    updateRead(payload?: IApiPayload<UserUpdateReadDto>): Promise<UserUpdateReadDto | undefined>;
}
