export type Result = { error?: Error; value?: T; }; export type Mention = { index: number; handle: string; mention: string; }; export type Header = { type: string; scope?: string | null; subject: string; }; export type SimpleHeader = { value: string; }; export type GenericCommit = { header: T; body?: string | null; footer?: string | null; increment?: string; isBreaking?: boolean; mentions?: Array; }; export type Commit = GenericCommit
; export type BasicCommit = GenericCommit; export type PossibleCommit = string | Commit | BasicCommit | Commit[] | BasicCommit[]; export type Plugin = ( commit: PossibleCommit, normalize?: boolean, ) => void | Record | Commit | BasicCommit; export type Plugins = Plugin | Array; export type Mappers = { mentions: Plugin; isBreaking: Plugin; isBreakingChange: Plugin; }; export type Options = { caseSensitive?: boolean; headerRegex?: RegExp | string; mentionsWithDot?: boolean; normalize?: boolean; };