import type { DB } from "../index.js"; import type { TagListInput, TagCreateInput, TagListOutput, TagCreateOutput, TagPruneOrphansInput, TagPruneOrphansOutput, TagUpdateInput, TagUpdateOutput } from "../../schemas/tags.js"; export declare function listTags(db: DB, input: TagListInput): Promise; export declare function createTags(db: DB, input: TagCreateInput): Promise; export declare function updateTags(db: DB, input: TagUpdateInput): Promise; export declare function getTagByName(db: DB, name: string): Promise<{ id: number; name: string; } | null>; export declare function getOrCreateTags(db: DB, names: string[]): Promise>; export declare function incrementTagUsage(db: DB, tagIds: number[]): Promise; /** * Get tag IDs for search operations. Returns null if tags are provided but none match. * This signals to the caller that no results should be returned. */ export declare function getTagIdsForSearch(db: DB, tagNames?: string[]): Promise<{ tagIds: number[]; shouldReturnEmpty: boolean; }>; /** * Get suggested tags based on popularity. Used when search returns no results * to help agents discover what exists. */ export declare function getSuggestedTags(db: DB, limit?: number): Promise; /** * Find and optionally delete orphan tags (tags with zero usage across all junction tables). * This helps keep the knowledge base clean by removing unused tags. */ export declare function pruneOrphanTags(db: DB, input: TagPruneOrphansInput): Promise; //# sourceMappingURL=tags.d.ts.map