import { ICommit } from 'gitlog'; import { AsyncSeriesBailHook, AsyncSeriesWaterfallHook } from 'tapable'; export interface ICommitAuthor { name?: string; email?: string; username?: string; } export interface IPullRequest { number: number; base?: string; body?: string; } export declare type IExtendedCommit = ICommit & { authors: ICommitAuthor[]; pullRequest?: IPullRequest; jira?: { number: string[]; }; labels: string[]; packages?: string[]; }; export declare function filterServiceAccounts(commit: IExtendedCommit): boolean | void; export declare function parsePR(commit: IExtendedCommit): IExtendedCommit; export declare function parseSquashPR(commit: IExtendedCommit): IExtendedCommit; export declare function parseJira(commit: IExtendedCommit): IExtendedCommit; export interface ILogParseHooks { parseCommit: AsyncSeriesWaterfallHook<[IExtendedCommit]>; omitCommit: AsyncSeriesBailHook<[IExtendedCommit], boolean | void>; } export default class LogParse { hooks: ILogParseHooks; constructor(); normalizeCommits(commits: ICommit[]): Promise; normalizeCommit(commit: ICommit): Promise; }