import type { Response } from 'express';
import Controller from '../../routes/controller.js';
import type { IAuthRequest } from '../../routes/unleash-types.js';
import type { IUnleashConfig } from '../../types/option.js';
import type { WithTransactional } from '../../db/transaction.js';
import type FeatureLinkService from './feature-link-service.js';
import type { OpenApiService } from '../../services/openapi-service.js';
import type { IFeatureLink } from './feature-link-store-type.js';
interface FeatureLinkServices {
    transactionalFeatureLinkService: WithTransactional<FeatureLinkService>;
    openApiService: OpenApiService;
}
export default class FeatureLinkController extends Controller {
    private transactionalFeatureLinkService;
    private openApiService;
    private flagResolver;
    constructor(config: IUnleashConfig, { transactionalFeatureLinkService, openApiService, }: FeatureLinkServices);
    createFeatureLink(req: IAuthRequest<{
        projectId: string;
        featureName: string;
    }, unknown, Omit<IFeatureLink, 'id' | 'createdAt'>>, res: Response): Promise<void>;
    updateFeatureLink(req: IAuthRequest<{
        projectId: string;
        linkId: string;
        featureName: string;
    }, unknown, Omit<IFeatureLink, 'id'>>, res: Response): Promise<void>;
    deleteFeatureLink(req: IAuthRequest<{
        projectId: string;
        linkId: string;
    }, unknown, Omit<IFeatureLink, 'id'>>, res: Response): Promise<void>;
}
export {};
//# sourceMappingURL=feature-link-controller.d.ts.map