import { Octokit } from '@octokit/rest'; import type { Repository, GitHubClientOptions, GitHubRelease } from './types.js'; /** * GitHub client for given repository. */ export declare class GitHubClient { protected readonly client: Octokit; protected readonly repo: Repository; protected readonly host?: string; protected readonly isGitHub: boolean; /** * @param options - client options. */ constructor(options: GitHubClientOptions); /** * Get latest release from repository. * @returns Latest release info. */ getLatestRelease(): Promise<{ id: number; tag: string; } | null>; /** * Create release. * @param release * @returns Created release data. */ createRelease(release: GitHubRelease): Promise<{ id: number; releaseUrl: string; }>; /** * Update release. * @param releaseId - Release to update. * @param release * @returns Updated release data. */ updateRelease(releaseId: number, release: GitHubRelease): Promise<{ id: number; releaseUrl: string; }>; /** * Create url to release. * @param release * @returns Url. */ createReleaseUrl(release: GitHubRelease): string; /** * Create url to create release in browser. * @param release * @returns Url. */ createBrowserReleaseUrl(release: GitHubRelease): string; protected getOctokitReleaseOptions(release: GitHubRelease): { owner: string; repo: string; tag_name: string; name: string; body: string | undefined; draft: boolean; prerelease: boolean; generate_release_notes: boolean; }; } //# sourceMappingURL=github.d.ts.map