import type { IUnleashConfig } from '../../types/option.js';
import type { IUnleashServices } from '../../services/index.js';
import Controller from '../controller.js';
import type { Request, Response } from 'express';
import type { IAuthRequest } from '../unleash-types.js';
import { type StrategySchema } from '../../openapi/spec/strategy-schema.js';
import { type StrategiesSchema } from '../../openapi/spec/strategies-schema.js';
import type { CreateStrategySchema } from '../../openapi/spec/create-strategy-schema.js';
import type { UpdateStrategySchema } from '../../openapi/spec/update-strategy-schema.js';
declare class StrategyController extends Controller {
    private strategyService;
    private openApiService;
    constructor(config: IUnleashConfig, { strategyService, openApiService, }: Pick<IUnleashServices, 'strategyService' | 'openApiService'>);
    getAllStrategies(_req: Request, res: Response<StrategiesSchema>): Promise<void>;
    getStrategy(req: Request, res: Response<StrategySchema>): Promise<void>;
    removeStrategy(req: IAuthRequest, res: Response): Promise<void>;
    createStrategy(req: IAuthRequest<unknown, unknown, CreateStrategySchema>, res: Response<StrategySchema>): Promise<void>;
    updateStrategy(req: IAuthRequest<{
        name: string;
    }, UpdateStrategySchema>, res: Response<void>): Promise<void>;
    deprecateStrategy(req: IAuthRequest, res: Response<void>): Promise<void>;
    reactivateStrategy(req: IAuthRequest, res: Response<void>): Promise<void>;
}
export default StrategyController;
//# sourceMappingURL=strategy.d.ts.map