export { ExecuteOptions, dryRun, executeFlow, validateFlow } from './executor'; import { FlowConfig, VersionFlow } from './models'; export { CreateFlowOptions, CreateStepOptions, DEFAULT_CHANGELOG_FILENAME, DEFAULT_FLOW_CONFIG, FlowConfig, FlowContext, FlowResult, FlowState, FlowStatus, FlowStep, FlowStepResult, FlowStepResultWithId, Logger, StepCondition, StepExecutor, VersionFlow, addStep, createFailedResult, createFlow, createNoopStep, createSkippedResult, createStep, createSuccessResult, getStep, hasStep, insertStep, insertStepAfter, insertStepBefore, removeStep, replaceStep, withConfig } from './models'; export { CONVENTIONAL_FLOW_CONFIG, INDEPENDENT_FLOW_CONFIG, SYNCED_FLOW_CONFIG, createBatchReleaseFlow, createChangelogOnlyFlow, createCheckDependentBumpsStep, createCombinedChangelogStep, createConventionalFlow, createFixedVersionFlow, createIndependentFlow, createMinimalFlow, createSyncAllPackagesStep, createSyncedFlow } from './presets'; export { ANALYZE_COMMITS_STEP_ID, CALCULATE_BUMP_STEP_ID, CREATE_COMMIT_STEP_ID, CREATE_TAG_STEP_ID, DEFAULT_COMMIT_TYPE_TO_SECTION, FETCH_REGISTRY_STEP_ID, GENERATE_CHANGELOG_STEP_ID, RESOLVE_REPOSITORY_STEP_ID, UPDATE_PACKAGES_STEP_ID, createAnalyzeCommitsStep, createCalculateBumpStep, createCascadeDependenciesStep, createCheckIdempotencyStep, createFetchRegistryStep, createGenerateChangelogStep, createGitCommitStep, createPushTagStep, createResolveRepositoryStep, createTagStep, createUpdatePackageStep, createWriteChangelogStep } from './steps'; /** * Supported flow presets. */ type FlowPreset = 'conventional' | 'independent' | 'synced'; /** * Creates a version flow from a preset. * * This is the main factory function for creating flows. * Use this when you want to create a flow based on a * standard preset with optional customization. * * @param preset - The preset to use (default: 'conventional') * @param config - Optional configuration overrides * @returns A VersionFlow configured for the preset * * @example Creating flows from presets * ```typescript * import { createVersionFlow, executeFlow } from '@hyperfrontend/versioning' * * // Create a conventional flow * const flow = createVersionFlow('conventional') * * // Create an independent flow with custom config * const customFlow = createVersionFlow('independent', { * skipTag: true, * trackDeps: true, * }) * * const result = await executeFlow(flow, 'lib-utils', '/workspace') * ``` */ declare function createVersionFlow(preset?: FlowPreset, config?: Partial): VersionFlow; /** * Creates a dry-run version of a flow. * * Convenience function that creates a flow with dryRun enabled. * * @param preset - The preset to use * @param config - Optional configuration overrides * @returns A VersionFlow configured for dry run * * @example Creating a dry-run flow for preview * ```typescript * import { createDryRunFlow, executeFlow } from '@hyperfrontend/versioning' * * const flow = createDryRunFlow('conventional') * const result = await executeFlow(flow, 'my-lib', '/workspace') * * // Preview changes without modifying files * console.log('Would release:', result.state.nextVersion) * ``` */ declare function createDryRunFlow(preset?: FlowPreset, config?: Partial): VersionFlow; /** * Gets the list of available presets. * * @returns Array of preset names * * @example Listing available presets * ```typescript * import { getAvailablePresets } from '@hyperfrontend/versioning' * * const presets = getAvailablePresets() * // => ['conventional', 'independent', 'synced'] * ``` */ declare function getAvailablePresets(): readonly FlowPreset[]; /** * Gets the description for a preset. * * @param preset - The preset name * @returns Human-readable description * * @example Getting a preset description * ```typescript * import { getPresetDescription } from '@hyperfrontend/versioning' * * console.log(getPresetDescription('independent')) * // => 'Version packages independently with dependency tracking' * ``` */ declare function getPresetDescription(preset: FlowPreset): string; export { createDryRunFlow, createVersionFlow, getAvailablePresets, getPresetDescription }; export type { FlowPreset };