import { ConfigFileOptions, TargetBranchChoiceOrString } from './ConfigOptions';
import { OptionsFromCliArgs } from './cliArgs';
export type ValidConfigOptions = Readonly<Awaited<ReturnType<typeof getOptions>>>;
export declare const defaultConfigOptions: {
    assignees: string[];
    autoAssign: boolean;
    autoMerge: boolean;
    autoMergeMethod: string;
    backportBinary: string;
    cherrypickRef: boolean;
    commitConflicts: boolean;
    commitPaths: string[];
    copySourcePRLabels: boolean;
    copySourcePRReviewers: boolean;
    cwd: string;
    dateSince: null;
    dateUntil: null;
    details: boolean;
    draft: boolean;
    fork: boolean;
    gitHostname: string;
    interactive: boolean;
    maxNumber: number;
    multipleBranches: boolean;
    multipleCommits: boolean;
    noVerify: boolean;
    publishStatusCommentOnAbort: boolean;
    publishStatusCommentOnFailure: boolean;
    publishStatusCommentOnSuccess: boolean;
    resetAuthor: boolean;
    reviewers: string[];
    signoff: boolean;
    sourcePRLabels: string[];
    noUnmergedBackportsHelp: boolean;
    targetBranchChoices: TargetBranchChoiceOrString[];
    targetBranches: string[];
    targetPRLabels: string[];
    telemetry: boolean;
};
export declare function getOptions({ optionsFromCliArgs, optionsFromModule, }: {
    optionsFromCliArgs: OptionsFromCliArgs;
    optionsFromModule: ConfigFileOptions;
}): Promise<{
    editor: string | undefined;
    accessToken: string;
    repoName: string;
    repoOwner: string;
    assignees: string[];
    author: string | null;
    autoAssign: boolean;
    autoMerge: boolean;
    autoMergeMethod: string;
    backportBranchName?: string | undefined;
    cherrypickRef: boolean;
    commitConflicts: boolean;
    commitPaths: string[];
    copySourcePRLabels: boolean;
    copySourcePRReviewers: boolean;
    details: boolean;
    dir?: string | undefined;
    draft: boolean;
    dryRun?: boolean | undefined;
    fork: boolean;
    gitAuthorEmail?: string | undefined;
    gitAuthorName?: string | undefined;
    gitHostname: string;
    githubApiBaseUrlV3?: string | undefined;
    githubApiBaseUrlV4?: string | undefined;
    interactive: boolean;
    logFilePath?: string | undefined;
    ls?: boolean | undefined;
    maxNumber: number;
    multipleBranches: boolean;
    multipleCommits: boolean;
    noVerify: boolean;
    prDescription?: string | undefined;
    prFilter?: string | undefined;
    projectConfigFile?: string | undefined;
    prTitle?: string | undefined;
    publishStatusCommentOnAbort: boolean;
    publishStatusCommentOnFailure: boolean;
    publishStatusCommentOnSuccess: boolean;
    pullNumber?: number | number[] | undefined;
    repoForkOwner: string;
    resetAuthor: boolean;
    reviewers: string[];
    sha?: string | string[] | undefined;
    signoff: boolean;
    skipRemoteConfig?: boolean | undefined;
    noUnmergedBackportsHelp: boolean;
    sourceBranch: string;
    sourcePRLabels: string[];
    targetBranchChoices: TargetBranchChoiceOrString[];
    targetBranches: string[];
    targetPRLabels: string[];
    cwd: string;
    globalConfigFile?: string | undefined;
    dateSince: string | null;
    dateUntil: string | null;
    mainline?: number | undefined;
    onlyMissing?: boolean | undefined;
    telemetry: boolean;
    autoFixConflicts?: (({ files, directory, logger, targetBranch, }: {
        files: string[];
        directory: string;
        logger: import("winston").Logger;
        targetBranch: string;
    }) => boolean | Promise<boolean>) | undefined;
    backportBinary: string;
    githubActionRunId?: number | undefined;
    multiple?: boolean | undefined;
    help?: boolean | undefined;
    version?: boolean | undefined;
    v?: boolean | undefined;
    branchLabelMapping?: Record<string, string> | undefined;
    upstream?: string | undefined;
    branches?: TargetBranchChoiceOrString[] | undefined;
    labels?: string[] | undefined;
    addOriginalReviewers?: boolean | undefined;
    authenticatedUsername: string;
    isRepoPrivate: boolean | undefined;
}>;
export declare function getActiveOptionsFormatted(options: ValidConfigOptions): string;
