import Fuse from 'fuse.js';
/**
 * Checks if a string looks like a valid ClickUp task ID
 * Valid task IDs are 6-9 characters long and contain only alphanumeric characters
 */
export declare function isTaskId(str: string): boolean;
/**
 * Get current authenticated user information from ClickUp API
 * Caches the promise to prevent race conditions on concurrent calls
 */
export declare function getCurrentUser(): Promise<any>;
export { downloadImages } from "./image-processing";
/**
 * Function to get space details, using a cache to avoid redundant fetches
 */
export declare function getSpaceDetails(spaceId: string): Promise<any>;
/**
 * Get or create a task search index with specified filters
 * Caches promises to prevent race conditions on concurrent calls
 */
export declare function getTaskSearchIndex(space_ids?: string[], list_ids?: string[], assignees?: string[]): Promise<Fuse<any> | null>;
/**
 * Generate a ClickUp task URL from a task ID
 */
export declare function generateTaskUrl(taskId: string): string;
/**
 * Generate a ClickUp list URL from a list ID
 */
export declare function generateListUrl(listId: string): string;
/**
 * Generate a ClickUp space URL from a space ID
 */
export declare function generateSpaceUrl(spaceId: string): string;
/**
 * Generate a ClickUp folder URL from a folder ID
 */
export declare function generateFolderUrl(folderId: string): string;
/**
 * Generate a ClickUp document URL from a document ID and optional page ID
 */
export declare function generateDocumentUrl(docId: string, pageId?: string): string;
/**
 * Format space content as tree structure
 * Shared function used by both searchSpaces tool and space resources
 */
export declare function formatSpaceTree(space: any, lists: any[], folders: any[], documents: any[]): string;
/**
 * Get or refresh the space search index
 * Caches promise to prevent race conditions on concurrent calls
 */
export declare function getSpaceSearchIndex(): Promise<Fuse<any> | null>;
/**
 * Get lists, folders, and documents for a specific space with caching
 */
export declare function getSpaceContent(spaceId: string): Promise<{
    lists: any[];
    folders: any[];
    documents: any[];
}>;
/**
 * Gets all team members from ClickUp API with caching
 */
export declare function getAllTeamMembers(): Promise<string[]>;
/**
 * Performs multi-term search with aggressive boosting for items matching multiple terms
 * @param searchIndex Fuse search index to search within
 * @param terms Array of search terms
 * @returns Array of items sorted by relevance (multi-term matches ranked higher)
 */
export declare function performMultiTermSearch<T>(searchIndex: Fuse<T>, terms: string[]): Promise<T[]>;
//# sourceMappingURL=utils.d.ts.map