import { BunyanRecord } from "../logger/types.js";
import { BranchResult, PrBlockedBy } from "../workers/types.js";
import { BranchCache, BranchUpgradeCache } from "../util/cache/repository/types.js";
import { ProcessResult, ProcessStatus, RepositoryResult } from "../workers/repository/result.js";
import { ModuleApi, RenovatePackageJson } from "./base.js";
import { BranchStatus } from "./branch-status.js";
import { CommitMessageJSON } from "./commit-message-json.js";
import { CombinedHostRule, HostRule } from "./host-rules.js";
import { PrState } from "./pr-state.js";
import { SkipReason, StageName } from "./skip-reason.js";
import { RangeStrategy } from "./versioning.js";
import { SecurityAdvisory, SecurityVulnerability, VulnerabilityAlert, VulnerabilityPackage } from "./vulnerability-alert.js";
import { MergeStrategy, RenovateSplit, UpdateType, ValidationMessage } from "../config/types.js";

//#region lib/types/index.d.ts
type AutoMergeType = 'branch' | 'pr' | 'pr-comment';
type Val = NonNullable<unknown>;
/**
 * A type that can be null or undefined.
 *
 * @see https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#nullish-coalescing
 */
type Nullish<T extends Val> = T | null | undefined;
type MaybePromise<T> = T | Promise<T>;
//#endregion
export { AutoMergeType, type BranchCache, type BranchResult, type BranchStatus, type BranchUpgradeCache, type BunyanRecord, type CombinedHostRule, type CommitMessageJSON, type HostRule, MaybePromise, type MergeStrategy, type ModuleApi, Nullish, type PrBlockedBy, type PrState, type ProcessResult, type ProcessStatus, type RangeStrategy, type RenovatePackageJson, type RenovateSplit, type RepositoryResult, type SecurityAdvisory, type SecurityVulnerability, type SkipReason, type StageName, type UpdateType, type ValidationMessage, type VulnerabilityAlert, type VulnerabilityPackage };
//# sourceMappingURL=index.d.ts.map