import type { Request, Response } from 'express';
import type { IUnleashConfig } from '../../types/option.js';
import type { IUnleashServices } from '../../services/index.js';
import Controller from '../controller.js';
import type { IAuthRequest } from '../unleash-types.js';
import { type TagsSchema } from '../../openapi/spec/tags-schema.js';
import type { TagSchema } from '../../openapi/spec/tag-schema.js';
import { type TagWithVersionSchema } from '../../openapi/spec/tag-with-version-schema.js';
import type { CreateTagSchema } from '../../openapi/index.js';
declare class TagController extends Controller {
    private tagService;
    private openApiService;
    private flagResolver;
    constructor(config: IUnleashConfig, { tagService, openApiService, }: Pick<IUnleashServices, 'tagService' | 'openApiService'>);
    getTags(_req: Request, res: Response<TagsSchema>): Promise<void>;
    getTagsByType(req: Request, res: Response<TagsSchema>): Promise<void>;
    getTag(req: Request<TagSchema>, res: Response<TagWithVersionSchema>): Promise<void>;
    createTag(req: IAuthRequest<unknown, unknown, CreateTagSchema>, res: Response<TagWithVersionSchema>): Promise<void>;
    deleteTag(req: IAuthRequest<TagSchema>, res: Response): Promise<void>;
}
export default TagController;
//# sourceMappingURL=tag.d.ts.map