import winston from 'winston';
export interface TargetBranchChoice {
    name: string;
    checked?: boolean;
}
export type TargetBranchChoiceOrString = string | TargetBranchChoice;
type AutoFixConflictsHandler = ({ files, directory, logger, targetBranch, }: {
    files: string[];
    directory: string;
    logger: winston.Logger;
    targetBranch: string;
}) => boolean | Promise<boolean>;
type Options = Partial<{
    accessToken: string;
    assignees: string[];
    author: string | null;
    autoAssign: boolean;
    autoFixConflicts: AutoFixConflictsHandler;
    autoMerge: boolean;
    autoMergeMethod: string;
    backportBinary: string;
    backportBranchName: string;
    cherrypickRef: boolean;
    commitConflicts: boolean;
    commitPaths: string[];
    copySourcePRLabels: boolean;
    copySourcePRReviewers: boolean;
    details: boolean;
    dir: string;
    draft: boolean;
    dryRun: boolean;
    editor: string;
    fork: boolean;
    gitAuthorEmail: string;
    gitAuthorName: string;
    gitHostname: string;
    githubActionRunId: number;
    githubApiBaseUrlV3: string;
    githubApiBaseUrlV4: string;
    interactive: boolean;
    logFilePath: string;
    ls: boolean;
    maxNumber: number;
    multiple: boolean;
    multipleBranches: boolean;
    multipleCommits: boolean;
    noVerify: boolean;
    prDescription: string;
    prFilter: string;
    projectConfigFile: string;
    prTitle: string;
    publishStatusCommentOnAbort: boolean;
    publishStatusCommentOnFailure: boolean;
    publishStatusCommentOnSuccess: boolean;
    pullNumber: number | number[];
    repoForkOwner: string;
    repoName: string;
    repoOwner: string;
    resetAuthor: boolean;
    reviewers: string[];
    sha: string | string[];
    signoff: boolean;
    skipRemoteConfig: boolean;
    noUnmergedBackportsHelp: boolean;
    sourceBranch: string;
    sourcePRLabels: string[];
    targetBranchChoices: TargetBranchChoiceOrString[];
    targetBranches: string[];
    targetPRLabels: string[];
}>;
export type ConfigFileOptions = Options & Partial<{
    help: boolean;
    version: boolean;
    v: boolean;
    branchLabelMapping: Record<string, string>;
    /**
     * @deprecated Replaced by `repoOwner` and `repoName`
     */
    upstream: string;
    /**
     * @deprecated Replaced by `targetBranchChoices`
     */
    branches: TargetBranchChoiceOrString[];
    /**
     * @deprecated Replaced by `targetPRLabels`
     */
    labels: string[];
    /**
     * @deprecated Replaced by `copySourcePRReviewers`
     */
    addOriginalReviewers: boolean;
}>;
export {};
