///
import { Arch } from "builder-util";
import { GithubOptions } from "builder-util-runtime";
import { ClientRequest } from "http";
import { Lazy } from "lazy-val";
import { HttpPublisher, PublishContext, PublishOptions } from "./publisher";
export interface Release {
id: number;
tag_name: string;
draft: boolean;
prerelease: boolean;
published_at: string;
upload_url: string;
}
export declare class GitHubPublisher extends HttpPublisher {
private readonly info;
private readonly version;
private readonly options;
private readonly tag;
readonly _release: Lazy;
private readonly token;
readonly providerName = "GitHub";
private readonly releaseType;
private releaseLogFields;
constructor(context: PublishContext, info: GithubOptions, version: string, options?: PublishOptions);
private getOrCreateRelease;
private overwriteArtifact;
protected doUpload(fileName: string, arch: Arch, dataLength: number, requestProcessor: (request: ClientRequest, reject: (error: Error) => void) => void): Promise;
private doUploadFile;
private createRelease;
getRelease(): Promise;
deleteRelease(): Promise;
private githubRequest;
toString(): string;
}