import * as O from 'fp-ts/Option'; import { SimpleGit } from 'simple-git'; import * as Version from './Version'; import * as PackageJson from './PackageJson'; declare type MajorMinorVersion = Version.MajorMinorVersion; declare type Version = Version.Version; declare type Option = O.Option; declare type PackageJson = PackageJson.PackageJson; export declare const getReleaseBranchName: ({ major, minor }: MajorMinorVersion) => string; export declare const enum BranchType { Main = "main", Feature = "feature", Hotfix = "hotfix", Spike = "spike", Release = "release", Dependabot = "dependabot" } export declare const enum BranchState { Feature = "feature", Hotfix = "hotfix", Spike = "spike", ReleaseReady = "releaseReady", ReleaseCandidate = "releaseCandidate" } interface ModuleChangelog { readonly changelogFile: string; readonly changelogFormat: 'keepachangelog' | 'none'; } export interface Module extends ModuleChangelog { readonly packageJson: PackageJson; readonly packageJsonFile: string; } export interface BranchDetails { readonly currentBranch: string; readonly version: Version; readonly rootModule: Module; readonly branchType: BranchType; readonly branchState: BranchState; readonly workspacesEnabled: boolean; readonly modules: Record; } export declare const versionFromReleaseBranch: (branchName: string) => Promise; export declare const mainBranchName = "main"; export declare const getBranchType: (branchName: string) => Option; export declare const isValidPrerelease: (actual: string | undefined, expected: string) => boolean; export declare const readModules: (dir: string) => Promise>; export declare const readModulesIfEnabled: (dir: string, packageJson: { workspaces?: string[]; }) => Promise<{ workspacesEnabled: boolean; modules: Record; }>; export declare const getBranchDetails: (dir: string) => Promise; export declare const createReleaseBranch: (releaseBranchName: string, git: SimpleGit, dir: string) => Promise; export {}; //# sourceMappingURL=BranchLogic.d.ts.map