export declare class CDNManager { private baseUrl; /** * Create a new CDN Manager instance * * @param baseUrl - Base CDN URL (e.g., 'https://cdn.example.com') * * @example * ```typescript * const cdn = new CDNManager('https://cdn.example.com'); * ``` */ constructor(baseUrl: string); /** * Get the base CDN URL * * @returns The base URL configured for this manager */ getBaseUrl(): string; /** * Build a full CDN URL from a path * * @param path - Path to append to base URL (with or without leading slash) * @returns Complete CDN URL * * @example * ```typescript * const cdn = new CDNManager('https://cdn.example.com'); * cdn.buildUrl('processed/doc123/preview.webp'); * // 'https://cdn.example.com/processed/doc123/preview.webp' * ``` */ buildUrl(path: string): string; /** * Get the origin preview path for a document * * @param documentId - Document ID * @returns S3 path for origin preview * * @example * ```typescript * cdn.getOriginPreviewPath('doc123'); * // 'processed/doc123/preview/preview.webp' * ``` */ getOriginPreviewPath(documentId: string): string; /** * Get the full CDN URL for origin preview * * @param documentId - Document ID * @returns Complete CDN URL for origin preview * * @example * ```typescript * cdn.getOriginPreviewUrl('doc123'); * // 'https://cdn.example.com/processed/doc123/preview/preview.webp' * ``` */ getOriginPreviewUrl(documentId: string): string; /** * Get the origin preview thumbnail path for a document * * @param documentId - Document ID * @returns S3 path for origin preview thumbnail * * @example * ```typescript * cdn.getOriginPreviewThumbnailPath('doc123'); * // 'processed/doc123/preview/thumbnail.webp' * ``` */ getOriginPreviewThumbnailPath(documentId: string): string; /** * Get the full CDN URL for origin preview thumbnail * * @param documentId - Document ID * @returns Complete CDN URL for origin preview thumbnail * * @example * ```typescript * cdn.getOriginPreviewThumbnailUrl('doc123'); * // 'https://cdn.example.com/processed/doc123/preview/thumbnail.webp' * ``` */ getOriginPreviewThumbnailUrl(documentId: string): string; /** * Get the annotated preview path for a document * * @param documentId - Document ID * @returns S3 path for annotated preview * * @example * ```typescript * cdn.getAnnotatedPreviewPath('doc123'); * // 'processed/doc123/annotated/preview/preview.webp' * ``` */ getAnnotatedPreviewPath(documentId: string): string; /** * Get the full CDN URL for annotated preview * * @param documentId - Document ID * @returns Complete CDN URL for annotated preview * * @example * ```typescript * cdn.getAnnotatedPreviewUrl('doc123'); * // 'https://cdn.example.com/processed/doc123/annotated/preview/preview.webp' * ``` */ getAnnotatedPreviewUrl(documentId: string): string; /** * Get the annotated thumbnail path for a document * * @param documentId - Document ID * @returns S3 path for annotated thumbnail * * @example * ```typescript * cdn.getAnnotatedThumbnailPath('doc123'); * // 'processed/doc123/annotated/preview/thumbnail.webp' * ``` */ getAnnotatedThumbnailPath(documentId: string): string; /** * Get the full CDN URL for annotated thumbnail * * @param documentId - Document ID * @returns Complete CDN URL for annotated thumbnail * * @example * ```typescript * cdn.getAnnotatedThumbnailUrl('doc123'); * // 'https://cdn.example.com/processed/doc123/annotated/preview/thumbnail.webp' * ``` */ getAnnotatedThumbnailUrl(documentId: string): string; /** * Validate tile URL template * * @param template - URL template to validate * @returns True if template contains required placeholders * * @example * ```typescript * cdn.isValidTileUrl('/tiles/{z}/{x}/{y}.png'); // true * cdn.isValidTileUrl('/tiles/z/x/y.png'); // false * ``` */ isValidTileUrl(template: string): boolean; } //# sourceMappingURL=cdn-manager.d.ts.map