import { Http } from "@angular/http"; import { Observable } from "rxjs"; import "rxjs/add/observable/of"; import { IServiceConfig } from "../service.config"; import { RequestQueryParams } from "./RequestQueryParams"; import { Tag } from "./interface"; /** * For getting tag signatures. * This is temporary, will be removed in future. * ** * class VerifiedSignature */ export declare class VerifiedSignature { tag: string; hashes: { sha256: string; }; } /** * Define the service methods to handle the repository tag related things. * ** * @abstract * class TagService */ export declare abstract class TagService { /** * Get all the tags under the specified repository. * NOTES: If the Notary is enabled, the signatures should be included in the returned data. * * @abstract * ** deprecated param {string} repositoryName * ** deprecated param {RequestQueryParams} [queryParams] * returns {(Observable | Promise | Tag[])} * * @memberOf TagService */ abstract getTags(repositoryName: string, queryParams?: RequestQueryParams): Observable | Promise | Tag[]; /** * Delete the specified tag. * * @abstract * ** deprecated param {string} repositoryName * ** deprecated param {string} tag * returns {(Observable | any)} * * @memberOf TagService */ abstract deleteTag(repositoryName: string, tag: string): Observable | Promise | any; /** * Get the specified tag. * * @abstract * ** deprecated param {string} repositoryName * ** deprecated param {string} tag * returns {(Observable | Promise | Tag)} * * @memberOf TagService */ abstract getTag(repositoryName: string, tag: string, queryParams?: RequestQueryParams): Observable | Promise | Tag; abstract addLabelToImages(repoName: string, tagName: string, labelId: number): Observable | Promise | any; abstract deleteLabelToImages(repoName: string, tagName: string, labelId: number): Observable | Promise | any; } /** * Implement default service for tag. * ** * class TagDefaultService * extends {TagService} */ export declare class TagDefaultService extends TagService { private http; private config; _baseUrl: string; _labelUrl: string; constructor(http: Http, config: IServiceConfig); _getTags(repositoryName: string, queryParams?: RequestQueryParams): Promise; _getSignatures(repositoryName: string): Promise; getTags(repositoryName: string, queryParams?: RequestQueryParams): Observable | Promise | Tag[]; deleteTag(repositoryName: string, tag: string): Observable | Promise | any; getTag(repositoryName: string, tag: string, queryParams?: RequestQueryParams): Observable | Promise | Tag; addLabelToImages(repoName: string, tagName: string, labelId: number): Observable | Promise | any; deleteLabelToImages(repoName: string, tagName: string, labelId: number): Observable | Promise | any; }