import { EntityApi, IApi, IApiPayload, IApp } from "@etsoo/appscript";
import { PersonListRQ } from "./rq/person/PersonListRQ";
import { PersonQueryRQ } from "./rq/person/PersonQueryRQ";
import { PersonListDto } from "./dto/person/PersonListDto";
import { PersonQueryData } from "./dto/person/PersonQueryData";
import { PersonViewData } from "./dto/person/PersonReadDto";
/**
 * Person API
 */
export declare class PersonApi extends EntityApi {
    /**
     * Constructor
     * @param app Application
     * @param api API
     */
    constructor(app: IApp, api?: IApi);
    /**
     * List
     * @param rq Request data
     * @param payload Payload
     * @returns Result
     */
    list(rq: PersonListRQ, payload: IApiPayload<PersonListDto[]>): Promise<PersonListDto[] | undefined>;
    /**
     * Query
     * @param rq Request data
     * @param payload Payload
     * @returns Result
     */
    query(rq: PersonQueryRQ, payload?: IApiPayload<PersonQueryData[]>): Promise<PersonQueryData[] | undefined>;
    /**
     * Read
     * @param id Id
     * @param payload Payload
     * @returns Result
     */
    read(id: number, payload?: IApiPayload<PersonViewData>): Promise<PersonViewData | undefined>;
}
