import type { Response } from 'express';
import Controller from '../../routes/controller.js';
import { type IUnleashConfig } from '../../types/index.js';
import { type CreateFeatureStrategySchema, type ProjectEnvironmentSchema } from '../../openapi/index.js';
import type { IUnleashServices } from '../../services/index.js';
import type { IAuthRequest } from '../../routes/unleash-types.js';
interface IProjectEnvironmentParams {
    projectId: string;
    environment: string;
}
export default class ProjectEnvironmentsController extends Controller {
    private logger;
    private environmentService;
    private openApiService;
    private projectService;
    constructor(config: IUnleashConfig, { transactionalEnvironmentService, openApiService, projectService, }: Pick<IUnleashServices, 'transactionalEnvironmentService' | 'openApiService' | 'projectService'>);
    addEnvironmentToProject(req: IAuthRequest<Omit<IProjectEnvironmentParams, 'environment'>, void, ProjectEnvironmentSchema>, res: Response): Promise<void>;
    removeEnvironmentFromProject(req: IAuthRequest<IProjectEnvironmentParams>, res: Response<void>): Promise<void>;
    updateDefaultStrategyForProjectEnvironment(req: IAuthRequest<IProjectEnvironmentParams, CreateFeatureStrategySchema>, res: Response<CreateFeatureStrategySchema>): Promise<void>;
}
export {};
//# sourceMappingURL=project-environments-controller.d.ts.map