import { IApi, IApiPayload } from "@etsoo/restclient";
import { MemberListRQ } from "./rq/member/MemberListRQ";
import { MemberQueryRQ } from "./rq/member/MemberQueryRQ";
import { MemberQueryDto } from "./dto/member/MemberQueryDto";
import { EntityApi, IApp, IdResultPayload, ResultPayload, StringIdResultPayload } from "@etsoo/appscript";
import { MemberListDto } from "./dto/member/MemberListDto";
import { MemberReadDto } from "./dto/member/MemberReadDto";
import { MemberUpdateReadDto } from "./dto/member/MemberUpdateReadDto";
import { MemberUpdateRQ } from "./rq/member/MemberUpdateRQ";
import { MemberInviteRQ } from "./rq/member/MemberInviteRQ";
import { MemberAdjustReportToRQ } from "./rq/member/MemberAdjustReportToRQ";
/**
 * Member API
 */
export declare class MemberApi extends EntityApi {
    /**
     * Constructor
     * @param app Application
     * @param api API
     */
    constructor(app: IApp, api?: IApi);
    /**
     * Adjust report to
     * @param rq Request data
     * @param payload Payload
     * @returns Result
     */
    adjustReportToRQ(rq: MemberAdjustReportToRQ, payload?: ResultPayload): Promise<import("@etsoo/shared").IActionResult<{}> | undefined>;
    /**
     * Delete
     * @param id Id
     * @param payload Payload
     * @returns Result
     */
    delete(id: number, payload?: IdResultPayload): Promise<import("@etsoo/shared").IdActionResult | undefined>;
    /**
     * Invite
     * @param rq Request data
     * @param payload Payload
     * @returns Result
     */
    invite(rq: MemberInviteRQ, payload?: StringIdResultPayload): Promise<import("@etsoo/shared").IdActionResult<string> | undefined>;
    /**
     * List
     * @param rq Request data
     * @param payload Payload
     * @returns Result
     */
    list(rq: MemberListRQ, payload: IApiPayload<MemberListDto[]>): Promise<MemberListDto[] | undefined>;
    /**
     * Query
     * @param rq Request data
     * @param payload Payload
     * @returns Result
     */
    query(rq: MemberQueryRQ, payload?: IApiPayload<MemberQueryDto[]>): Promise<MemberQueryDto[] | undefined>;
    /**
     * Read
     * @param id Id
     * @param payload Payload
     * @returns Result
     */
    read(id: number, payload?: IApiPayload<MemberReadDto>): Promise<MemberReadDto | undefined>;
    /**
     * Update
     * @param rq Request data
     * @param payload Payload
     * @returns Result
     */
    update(rq: MemberUpdateRQ, payload?: IdResultPayload): Promise<import("@etsoo/shared").IdActionResult | undefined>;
    /**
     * Update avatar
     * @param id Organization id
     * @param data Avatar form data
     * @param payload Payload
     * @returns Result
     */
    updateAvatar(id: number, data: FormData, payload?: StringIdResultPayload): Promise<import("@etsoo/shared").IdActionResult<string> | undefined>;
    /**
     * Update read
     * @param id Id
     * @param payload Payload
     * @returns Result
     */
    updateRead(id: number, payload?: IApiPayload<MemberUpdateReadDto>): Promise<MemberUpdateReadDto | undefined>;
}
