import type { B2CInstance } from '../instance/index.js';
/**
 * Options for downloading documentation.
 */
export interface DownloadDocsOptions {
    /** Output directory for extracted docs */
    outputDir: string;
    /** Keep the downloaded archive file (default: false) */
    keepArchive?: boolean;
}
/**
 * Result of a documentation download.
 */
export interface DownloadDocsResult {
    /** Path where docs were extracted */
    outputPath: string;
    /** Number of files extracted */
    fileCount: number;
    /** Archive filename if kept */
    archivePath?: string;
}
/**
 * Downloads documentation archive from a B2C instance.
 *
 * The archive is available at a special URL:
 * `https://{hostname}:443/on/demandware.servlet/WFS/Studio/Sites/mock/demandware-mock.zip`
 *
 * The outer zip contains `DWAPP-*.API-doc.zip` which contains `sfdocs/script-api/` with markdown docs.
 *
 * @param instance - B2C instance to download from
 * @param options - Download options
 * @returns Download result with extraction details
 * @throws Error if download fails or credentials are missing
 *
 * @example
 * ```typescript
 * const instance = B2CInstance.fromEnvironment();
 * const result = await downloadDocs(instance, {
 *   outputDir: './docs',
 *   keepArchive: true,
 * });
 * console.log(`Downloaded ${result.fileCount} files`);
 * ```
 */
export declare function downloadDocs(instance: B2CInstance, options: DownloadDocsOptions): Promise<DownloadDocsResult>;
