import { FinalUserConfig } from "../../utils/config";
import { MaybePromise } from "../../utils/types";
import { BumpResult } from "./bump";
import type { ParserOptions, WriterOptions } from "conventional-changelog-core";
export interface ReleaseChangelogFileContent {
    header?: string;
    body?: string;
    footer?: string;
}
export interface ReleaseChangelogConfig {
    filePath: string;
    filePathResolve: (params: {
        finalUserConfig: FinalUserConfig;
    }) => MaybePromise<string>;
    fileRead: (params: {
        finalUserConfig: FinalUserConfig;
    }) => MaybePromise<ReleaseChangelogFileContent>;
    fileWriteDisable?: boolean;
    fileWrite: (params: {
        finalUserConfig: FinalUserConfig;
        changelogRes: ReleaseChangelogFileContent;
    }) => MaybePromise<void>;
    logAddChangesetDisable?: boolean;
    scopeNoWriteDisable?: boolean;
    genParserOpts?: () => MaybePromise<ParserOptions>;
    genWriterOpts?: () => MaybePromise<WriterOptions>;
    header?: string;
    footer?: string;
}
export declare const ReleaseChangelogConfigDefault: ReleaseChangelogConfig;
export declare const changelogContentParser: (content: string) => ReleaseChangelogFileContent;
export declare const changelogContentStringify: (content: ReleaseChangelogFileContent) => string;
export declare const changelog: (params: {
    finalUserConfig: FinalUserConfig;
    bumpRes: BumpResult;
}) => Promise<ReleaseChangelogFileContent>;
