import { Error } from "./error"; import { Object } from "./object"; import { Oid } from "./oid"; import { Repository } from "./repository"; import { Signature } from "./signature"; import { Strarray } from "./str-array"; export class Tag { static annotationCreate( repo: Repository, tagName: string, target: Object, tagger: Signature, message: string, ): Promise; static create( repo: Repository, tagName: string, target: Object, tagger: Signature, message: string, force: number, ): Promise; static createLightweight(repo: Repository, tagName: string, target: Object, force: number): Promise; static createWithSignature( repo: Repository, tagName: string, target: Oid | string, tagger: Signature, message: string | undefined | null, force: number, signingCallback: ( data: string, ) => | Promise<{ code: Error.CODE; field?: string | undefined; signedData: string }> | { code: Error.CODE; field?: string | undefined; signedData: string }, ): Promise; static delete(repo: Repository, tagName: string): Promise; static list(repo: Repository): Promise; static listMatch(pattern: string, repo: Repository): Promise; /** * Retrieves the tag pointed to by the oid */ static lookup(repo: Repository, id: string | Oid | Tag): Promise; static lookupPrefix(repo: Repository, id: Oid, len: number): Promise; dup(): Promise; id(): Oid; message(): string; name(): string; owner(): Repository; peel(tagTargetOut: Object): number; tagger(): Signature; target(): Promise; targetId(): Oid; targetType(): number; }