import type { IProject } from "../entities";
import * as entities from "../entities";
import * as interfaces from "../interfaces";
import { ProjectService } from "../services/ProjectService";
import BaseController from "./BaseController";
interface IQueryProjectsAndApps {
    /**
     * Should check for item's status
     * @default false
     */
    status?: boolean;
    /**
     * Find one item by `{ObjectID}`
     */
    id?: string;
    _id?: string;
    /**
     * Mark this request as search (return the similar results based on the filter query params)
     * @default true
     */
    search?: boolean;
    /**
     * Pagination
     */
    page?: number;
    size?: number;
    limit?: number;
    skip?: number;
}
export default class ProjectController extends BaseController {
    service: ProjectService;
    constructor();
    /**
     * List of projects
     */
    read(queryParams?: interfaces.IGetQueryParams): Promise<interfaces.ResponseData>;
    create(body: entities.ProjectDto, queryParams?: interfaces.IPostQueryParams): Promise<interfaces.ResponseData>;
    update(body: entities.ProjectDto, queryParams?: interfaces.IPostQueryParams): Promise<interfaces.ResponseData>;
    delete(queryParams?: interfaces.IDeleteQueryParams): Promise<interfaces.ResponseData>;
    getProjectsAndApps(queryParams?: IQueryProjectsAndApps): Promise<interfaces.ResponseData & {
        data: IProject[];
    }>;
}
export {};
//# sourceMappingURL=ProjectController.d.ts.map