export interface Commit { raw: string; header: string; type: string | null; scope: string | null; subject: string | null; body: string | null; footer: string | null; mentions: string[]; notes: CommitNote[]; references: CommitReference[]; revert: any; merge: any; } export interface CommitNote { title: string; text: string; } export interface CommitReference { raw: string; prefix: string; action: string | null; owner: string | null; repository: string | null; issue: string | null; } export type Parser = ( message: string, options: ParserOptions ) => Omit<Commit, 'raw'>; export interface ParserOptions { commentChar?: string; headerCorrespondence?: string[]; headerPattern?: RegExp; issuePrefixes?: string[]; mergeCorrespondence?: string[]; mergePattern?: RegExp; noteKeywords?: string[]; revertCorrespondence?: string[]; revertPattern?: RegExp; }