import { ExecOptions } from "child_process";
export type ReleaseClientType = "gitlab" | "github";
export declare function truncateReleaseBody(body: string, type?: ReleaseClientType): string;
export declare function createReleaseClient(type?: ReleaseClientType): (import("@octokit/core").Octokit & {
    paginate: import("@octokit/plugin-paginate-rest").PaginateInterface;
} & import("@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types").RestEndpointMethods & import("@octokit/plugin-rest-endpoint-methods").Api) | {
    repos: {
        createRelease: ({ owner, repo, name, tag_name: tagName, body }: {
            owner: any;
            repo: any;
            name: any;
            tag_name: any;
            body: any;
        }) => Promise<void>;
    };
};
export declare function createRelease(client: ReturnType<typeof createReleaseClient>, { type, tags, releaseNotes, tagVersionSeparator, }: {
    type?: ReleaseClientType;
    tags: string[];
    tagVersionSeparator: string;
    releaseNotes: {
        name: string;
        notes: string;
    }[];
}, { gitRemote, execOpts }: {
    gitRemote: string;
    execOpts: ExecOptions;
}): Promise<(void | import("@octokit/types").OctokitResponse<{
    url: string;
    html_url: string;
    assets_url: string;
    upload_url: string;
    tarball_url: string | null;
    zipball_url: string | null;
    id: number;
    node_id: string;
    tag_name: string;
    target_commitish: string;
    name: string | null;
    body?: string | null;
    draft: boolean;
    prerelease: boolean;
    created_at: string;
    published_at: string | null;
    author: import("@octokit/openapi-types").components["schemas"]["simple-user"];
    assets: import("@octokit/openapi-types").components["schemas"]["release-asset"][];
    body_html?: string;
    body_text?: string;
    mentions_count?: number;
    discussion_url?: string;
    reactions?: import("@octokit/openapi-types").components["schemas"]["reaction-rollup"];
}, 201>)[]>;
