import type { OpenAPIParser } from '../OpenAPIParser.js';
import type { ContentItemModel, GroupModel } from '../../models/index.js';
import type { TagGroup, TagsInfoMap } from '../types.js';
import type { Options } from '../config-options/types.js';
import type { OpenAPITag } from '../../types/index.js';
/**
 * Returns array of OperationsGroup items for the tags of the group or for all tags
 * @param parser
 * @param tagsMap tags info returned from `getTagsWithOperations`
 * @param parent parent item
 * @param group group which this tag belongs to. if not provided gets all tags
 * @param options - normalized options
 */
export declare function getTagsItems(parser: OpenAPIParser, tagsMap: TagsInfoMap, parent: GroupModel | undefined, group: TagGroup | undefined, options: Options): ContentItemModel[];
/**
 * Returns array of OperationsGroup items for the tag groups (x-tagGroups vendor extension)
 * @param parser
 * @param parent
 * @param groups
 * @param tags value of `x-tagGroups` vendor extension
 * @param options - normalized options
 */
export declare function getTagGroupsItems(parser: OpenAPIParser, parent: GroupModel | undefined, groups: TagGroup[], tags: TagsInfoMap, options: Options): GroupModel[];
/**
 * collects tags and maps each tag to list of operations belonging to this tag
 */
export declare function getTagsWithOperations(parser: OpenAPIParser, explicitTags: OpenAPITag[]): TagsInfoMap;
export declare function processOperation(parser: OpenAPIParser, operationName: string, operationInfo: any, pathName: string, path: any, tags: TagsInfoMap, isWebhook?: boolean, isAdditionalOperation?: boolean): void;
export declare function buildNestedTagsItems(parser: OpenAPIParser, tagsMap: TagsInfoMap, parent: GroupModel | undefined, options: Options): ContentItemModel[];
export declare function capitalize(input: string): string;
