import Octokit from '@octokit/rest'; import { ICommit } from 'gitlog'; import { ILabelDefinition } from './release'; import { ILogger } from './utils/logger'; declare type Omit = Pick> & Partial>; export declare type IPRInfo = Omit; export interface IGitOptions { owner: string; repo: string; baseUrl?: string; token?: string; } export default class Git { readonly options: IGitOptions; private readonly baseUrl; private readonly ghub; private readonly logger; constructor(options: IGitOptions, logger?: ILogger); getLatestReleaseInfo(): Promise; getLatestRelease(): Promise; getCommitDate(sha: string): Promise; getFirstCommit(): Promise; getSha(): Promise; getLabels(prNumber: number): Promise; getProjectLabels(): Promise; getGitLog(start: string, end?: string): Promise; getUserByEmail(email: string): Promise; getUserByUsername(username: string): Promise; getPullRequest(pr: number): Promise>; searchRepo(options: Octokit.SearchIssuesAndPullRequestsParams): Promise; createStatus(prInfo: IPRInfo): Promise>; createLabel(name: string, label: ILabelDefinition): Promise>; updateLabel(name: string, label: ILabelDefinition): Promise>; addLabelToPr(pr: number, label: string): Promise>; lockIssue(issue: number): Promise>; getProject(): Promise; getPullRequests(options?: Partial): Promise; getCommitsForPR(pr: number): Promise; createComment(message: string, pr: number, context?: string): Promise>; publish(releaseNotes: string, tag: string): Promise>; } export {};