import { DocumentType, DocumentInfo } from './types'; /** * Detect document type from URL or file extension */ export declare function detectDocumentType(url: string): DocumentType; /** * Detect document type from content-type header */ export declare function detectDocumentTypeFromContentType(contentType: string): DocumentType; /** * Async document type detection using content-type header */ export declare function detectDocumentTypeAsync(url: string, proxyUrl?: string): Promise; /** * Extract file extension from URL (segment-aware and parameters-safe) */ export declare function getFileExtension(url: string): string; /** * Extract filename from URL */ export declare function getFileName(url: string): string; /** * Format file size in human readable format */ export declare function formatFileSize(bytes: number): string; /** * Check if document type supports pagination */ export declare function supportsPagination(type: DocumentType): boolean; /** * Check if document type supports zoom */ export declare function supportsZoom(type: DocumentType): boolean; /** * Check if document type supports rotation */ export declare function supportsRotation(type: DocumentType): boolean; /** * Check if URL string is valid */ export declare function isValidUrl(url: string): boolean; /** * Create download link for a document */ export declare function downloadDocument(url: string, filename?: string): Promise; /** * Enter fullscreen mode */ export declare function enterFullscreen(element: HTMLElement): Promise; /** * Exit fullscreen mode */ export declare function exitFullscreen(): Promise; /** * Check if currently in fullscreen mode */ export declare function isFullscreen(): boolean; /** * Check if a URL is external (not from the same origin) */ export declare function isExternalUrl(url: string): boolean; /** * Apply a CORS proxy to an external URL */ export declare function applyCorsProxy(url: string, proxyIndex?: number): string; /** * Try loading a URL through different CORS proxies */ export declare function tryLoadWithProxy(url: string, customProxyUrl?: string): Promise; /** * Create a blob URL from a data URL */ export declare function createBlobFromDataUrl(dataUrl: string): string | null; /** * Revoke a blob URL to prevent memory leaks */ export declare function revokeBlobUrl(url: string): void; /** * Get document info from URL */ export declare function getDocumentInfo(url: string, type: DocumentType): DocumentInfo; /** * Debounce function for performance optimization */ export declare function debounce any>(func: T, wait: number): (...args: Parameters) => void; /** * Throttle function for performance optimization */ export declare function throttle any>(func: T, limit: number): (...args: Parameters) => void;