import { BranchStatus, VulnerabilityAlert } from '../../../types';
import type { CommitFilesConfig, CommitSha } from '../../../util/git/types';
import type { BranchStatusConfig, CreatePRConfig, EnsureCommentConfig, EnsureCommentRemovalConfig, EnsureIssueConfig, EnsureIssueResult, FindPRConfig, Issue, MergePRConfig, PlatformParams, PlatformResult, RepoParams, RepoResult, UpdatePrConfig } from '../types';
import type { GhPr } from './types';
export declare const GitHubMaxPrBodyLen = 60000;
export declare function resetConfigs(): void;
export declare function detectGhe(token: string): Promise<void>;
export declare function initPlatform({ endpoint, token: originalToken, username, gitAuthor, }: PlatformParams): Promise<PlatformResult>;
export declare function getRepos(): Promise<string[]>;
export declare function getRawFile(fileName: string, repoName?: string, branchOrTag?: string): Promise<string | null>;
export declare function getJsonFile(fileName: string, repoName?: string, branchOrTag?: string): Promise<any | null>;
export declare function initRepo({ endpoint, repository, forkMode, forkToken, renovateUsername, cloneSubmodules, ignorePrAuthor, }: RepoParams): Promise<RepoResult>;
export declare function getRepoForceRebase(): Promise<boolean>;
export declare function getPr(prNo: number): Promise<GhPr | null>;
export declare function getPrList(): Promise<GhPr[]>;
export declare function findPr({ branchName, prTitle, state, }: FindPRConfig): Promise<GhPr | null>;
export declare function getBranchPr(branchName: string): Promise<GhPr | null>;
export declare function getBranchStatus(branchName: string): Promise<BranchStatus>;
export declare function getBranchStatusCheck(branchName: string, context: string): Promise<BranchStatus | null>;
export declare function setBranchStatus({ branchName, context, description, state, url: targetUrl, }: BranchStatusConfig): Promise<void>;
export declare function getIssueList(): Promise<Issue[]>;
export declare function getIssue(number: number, useCache?: boolean): Promise<Issue | null>;
export declare function findIssue(title: string): Promise<Issue | null>;
export declare function ensureIssue({ title, reuseTitle, body: rawBody, labels, once, shouldReOpen, }: EnsureIssueConfig): Promise<EnsureIssueResult | null>;
export declare function ensureIssueClosing(title: string): Promise<void>;
export declare function addAssignees(issueNo: number, assignees: string[]): Promise<void>;
export declare function addReviewers(prNo: number, reviewers: string[]): Promise<void>;
export declare function deleteLabel(issueNo: number, label: string): Promise<void>;
export declare function ensureComment({ number, topic, content, }: EnsureCommentConfig): Promise<boolean>;
export declare function ensureCommentRemoval(deleteConfig: EnsureCommentRemovalConfig): Promise<void>;
export declare function createPr({ sourceBranch, targetBranch, prTitle: title, prBody: rawBody, labels, draftPR, platformOptions, }: CreatePRConfig): Promise<GhPr | null>;
export declare function updatePr({ number: prNo, prTitle: title, prBody: rawBody, state, }: UpdatePrConfig): Promise<void>;
export declare function mergePr({ branchName, id: prNo, }: MergePRConfig): Promise<boolean>;
export declare function massageMarkdown(input: string): string;
export declare function getVulnerabilityAlerts(): Promise<VulnerabilityAlert[]>;
export declare function commitFiles(config: CommitFilesConfig): Promise<CommitSha | null>;
