/**
 * Code deployment operations for B2C Commerce.
 *
 * This module provides functions for managing cartridge code versions
 * on B2C Commerce instances via WebDAV and OCAPI.
 *
 * ## Cartridge Discovery
 *
 * - {@link findCartridges} - Find cartridges by .project files
 *
 * ## Code Versions
 *
 * - {@link listCodeVersions} - List all code versions on an instance
 * - {@link getActiveCodeVersion} - Get the currently active code version
 * - {@link activateCodeVersion} - Activate a code version
 * - {@link reloadCodeVersion} - Reload (re-activate) a code version
 * - {@link deleteCodeVersion} - Delete a code version
 * - {@link createCodeVersion} - Create a new code version
 *
 * ## Deployment
 *
 * - {@link findAndDeployCartridges} - Find and deploy cartridges to an instance
 * - {@link uploadCartridges} - Low-level cartridge upload
 * - {@link deleteCartridges} - Low-level cartridge deletion
 * - {@link watchCartridges} - Watch and sync file changes
 *
 * ## Download
 *
 * - {@link downloadCartridges} - Download cartridges from an instance
 *
 * ## Usage
 *
 * ```typescript
 * import {
 *   findCartridges,
 *   findAndDeployCartridges,
 *   listCodeVersions,
 *   activateCodeVersion,
 *   watchCartridges,
 * } from '@salesforce/b2c-tooling-sdk/operations/code';
 * import { resolveConfig } from '@salesforce/b2c-tooling-sdk/config';
 *
 * const config = resolveConfig();
 * const instance = config.createB2CInstance();
 *
 * // Deploy cartridges (requires instance.config.codeVersion to be set)
 * await findAndDeployCartridges(instance, './cartridges', { reload: true });
 *
 * // List code versions
 * const versions = await listCodeVersions(instance);
 *
 * // Watch for changes
 * const watcher = await watchCartridges(instance, './cartridges');
 * ```
 *
 * ## Authentication
 *
 * - WebDAV operations support both Basic Auth and OAuth
 * - OCAPI operations (code versions) require OAuth
 *
 * @module operations/code
 */
export { findCartridges } from './cartridges.js';
export type { CartridgeMapping, FindCartridgesOptions } from './cartridges.js';
export { listCodeVersions, getActiveCodeVersion, activateCodeVersion, reloadCodeVersion, deleteCodeVersion, createCodeVersion, } from './versions.js';
export type { CodeVersion, CodeVersionResult } from './versions.js';
export { findAndDeployCartridges, uploadCartridges, deleteCartridges } from './deploy.js';
export type { DeployOptions, DeployResult, UploadOptions, UploadProgressInfo } from './deploy.js';
export { downloadCartridges, downloadSingleCartridge } from './download.js';
export type { DownloadOptions, DownloadProgressInfo, DownloadResult } from './download.js';
export { uploadFiles, fileToCartridgePath } from './upload-files.js';
export type { FileChange, UploadFilesOptions } from './upload-files.js';
export { watchCartridges } from './watch.js';
export type { WatchOptions, WatchResult } from './watch.js';
