import { IChangelogRenderFunctions } from '../plugins';
import { IApplication } from './application';
import { ConventionalCommit } from './conventional-commmit-utils';
import { GitSemverTag } from './version-utils';
export interface ChangelogEntry {
    version: string;
    headerLine: string;
    body: string;
}
export declare function detectChangelog(application: IApplication, relativeCwd: string, from: GitSemverTag, to: GitSemverTag): Promise<ChangelogEntry>;
export declare function addToChangelog(entry: ChangelogEntry, changelogContent?: string): string;
export declare function parseChangelog(changelogContent: string): ChangelogEntry[];
export declare function generateChangeLogEntry(commits: ConventionalCommit[], from: GitSemverTag, to: GitSemverTag, renderer: IChangelogRenderFunctions): ChangelogEntry;
export declare function renderCommit(commit: ConventionalCommit, renderer: IChangelogRenderFunctions): string;
export declare function groupByType(commits: ConventionalCommit[]): Record<string, ConventionalCommit[]>;
