import type { B2CInstance } from '../../instance/index.js'; import type { FetchContentLibraryOptions, FetchContentLibraryResult, ContentExportOptions, ContentExportResult } from './types.js'; /** * Fetch and parse a content library from an instance (or local file). * * Returns the parsed Library and optionally the raw archive data. * No filesystem side effects. * * @param instance - B2C instance to fetch from * @param libraryId - Library ID (or site ID if isSiteLibrary is true) * @param options - Fetch options * @returns Parsed library and optional archive data * * @example * ```typescript * // Fetch from instance * const { library } = await fetchContentLibrary(instance, 'SharedLibrary'); * * // Filter and traverse * library.filter(n => n.id === 'homepage'); * const xml = await library.toXMLString({ traverseHidden: false }); * * // Use local file instead * const { library } = await fetchContentLibrary(instance, 'SharedLibrary', { * libraryFile: './library.xml' * }); * ``` */ export declare function fetchContentLibrary(instance: B2CInstance, libraryId: string, options?: FetchContentLibraryOptions): Promise; /** * Export specific pages (with component trees and assets) to a local directory. * * This is a convenience function that: * 1. Fetches/parses the library via {@link fetchContentLibrary} * 2. Filters by page ID (exact or regex), optionally by folder * 3. Downloads static assets via WebDAV (concurrent, with progress) * 4. Writes filtered XML and assets to the output directory * * @param instance - B2C instance * @param pageIds - Page content IDs to export * @param libraryId - Library ID (or site ID if isSiteLibrary) * @param outputPath - Output directory path * @param options - Export options * @returns Export result with statistics * * @example * ```typescript * const result = await exportContent( * instance, * ['homepage', 'about-us'], * 'SharedLibrary', * './export', * ); * console.log(`Exported ${result.pageCount} pages, ${result.componentCount} components`); * ``` */ export declare function exportContent(instance: B2CInstance, pageIds: string[], libraryId: string, outputPath: string, options?: ContentExportOptions): Promise;