import { QuipApiClient } from './api-client'; import { QuipDocument, QuipFolder, Logger } from '../../types'; export interface DocumentFilter { types?: Array<'DOCUMENT' | 'SPREADSHEET' | 'CHAT'>; includeShared?: boolean; includeTemplates?: boolean; includeDeleted?: boolean; createdAfter?: Date; createdBefore?: Date; titleContains?: string; maxDocuments?: number; url?: string; } export interface DocumentWithPath { document: QuipDocument; folderPath: string; isShared: boolean; } export interface FolderStructure { folder: QuipFolder; path: string; children: FolderStructure[]; documents: DocumentWithPath[]; } export interface DiscoveryResult { documents: DocumentWithPath[]; folders: FolderStructure[]; totalCount: number; filteredCount: number; skippedCount?: number; } export declare class DocumentDiscovery { private readonly apiClient; private readonly logger; private readonly documentCache; private readonly folderCache; private skippedDocumentCount; constructor(apiClient: QuipApiClient, logger: Logger); discoverDocuments(filter?: DocumentFilter): Promise; private discoverDocumentsWithLimit; private createLimitedResult; discoverFromUrl(url: string, filter?: DocumentFilter): Promise; private discoverFromFolder; private discoverSingleDocument; private documentMatchesFilter; getDocumentsFromFolder(folderId: string, recursive?: boolean): Promise; searchDocuments(query: string, filter?: DocumentFilter): Promise; getDocumentMetadata(documentId: string): Promise; private parseListResponse; private getFolderMetadata; private parseFolderResponse; private transformToQuipDocument; private isDocument; private isFolder; private buildFolderStructures; private buildFolderStructure; private collectAllDocuments; private applyFilters; private isDocumentShared; private getDocumentFolderPath; private getFolderPath; private createVirtualFolderStructure; private getTypeDisplayName; clearCache(): void; } //# sourceMappingURL=document-discovery.d.ts.map