import type { Response } from 'express';
import Controller from '../../routes/controller.js';
import { type IArchivedQuery, type IProjectParam, type IUnleashConfig } from '../../types/index.js';
import { type OutdatedSdksSchema, type ProjectDoraMetricsSchema, type ProjectsSchema } from '../../openapi/index.js';
import type { IUnleashServices } from '../../services/index.js';
import type { IAuthRequest } from '../../routes/unleash-types.js';
import type { Db } from '../../db/db.js';
import type { ProjectOverviewSchema } from '../../openapi/spec/project-overview-schema.js';
import { type ProjectApplicationsSchema } from '../../openapi/spec/project-applications-schema.js';
import { type ProjectFlagCreatorsSchema } from '../../openapi/spec/project-flag-creators-schema.js';
export default class ProjectController extends Controller {
    private projectService;
    private openApiService;
    private clientInstanceService;
    private flagResolver;
    constructor(config: IUnleashConfig, services: IUnleashServices, _db: Db);
    getProjects(req: IAuthRequest, res: Response<ProjectsSchema>): Promise<void>;
    getProjectOverview(req: IAuthRequest<IProjectParam, unknown, unknown, IArchivedQuery>, res: Response<ProjectOverviewSchema>): Promise<void>;
    /** @deprecated use projectInsights instead */
    getProjectDora(req: IAuthRequest, res: Response<ProjectDoraMetricsSchema>): Promise<void>;
    getProjectApplications(req: IAuthRequest, res: Response<ProjectApplicationsSchema>): Promise<void>;
    getProjectFlagCreators(req: IAuthRequest<IProjectParam>, res: Response<ProjectFlagCreatorsSchema>): Promise<void>;
    getOutdatedProjectSdks(req: IAuthRequest<IProjectParam>, res: Response<OutdatedSdksSchema>): Promise<void>;
}
//# sourceMappingURL=project-controller.d.ts.map