import basem = require('./ClientApiBases'); import VsoBaseInterfaces = require('./interfaces/common/VsoBaseInterfaces'); import FileContainerInterfaces = require("./interfaces/FileContainerInterfaces"); import VSSInterfaces = require("./interfaces/common/VSSInterfaces"); export interface IFileContainerApiBase extends basem.ClientApiBase { createItems(items: VSSInterfaces.VssJsonCollectionWrapperV, containerId: number, scope?: string): Promise; deleteItem(containerId: number, itemPath: string, scope?: string): Promise; getContainers(scope?: string, artifactUris?: string): Promise; getItems(containerId: number, scope?: string, itemPath?: string, metadata?: boolean, format?: string, downloadFileName?: string, includeDownloadTickets?: boolean, isShallow?: boolean, ignoreRequestedMediaType?: boolean, includeBlobMetadata?: boolean, saveAbsolutePath?: boolean, preferRedirect?: boolean): Promise; } export declare class FileContainerApiBase extends basem.ClientApiBase implements IFileContainerApiBase { constructor(baseUrl: string, handlers: VsoBaseInterfaces.IRequestHandler[], options?: VsoBaseInterfaces.IRequestOptions); /** * Creates the specified items in the referenced container. * * @param {VSSInterfaces.VssJsonCollectionWrapperV} items * @param {number} containerId * @param {string} scope - A guid representing the scope of the container. This is often the project id. */ createItems(items: VSSInterfaces.VssJsonCollectionWrapperV, containerId: number, scope?: string): Promise; /** * Deletes the specified items in a container. * * @param {number} containerId - Container Id. * @param {string} itemPath - Path to delete. * @param {string} scope - A guid representing the scope of the container. This is often the project id. */ deleteItem(containerId: number, itemPath: string, scope?: string): Promise; /** * Gets containers filtered by a comma separated list of artifact uris within the same scope, if not specified returns all containers * * @param {string} scope - A guid representing the scope of the container. This is often the project id. * @param {string} artifactUris */ getContainers(scope?: string, artifactUris?: string): Promise; /** * Gets the specified file container object in a format dependent upon the given parameters or HTTP Accept request header * * @param {number} containerId - The requested container Id * @param {string} scope - A guid representing the scope of the container. This is often the project id. * @param {string} itemPath - The path to the item of interest * @param {boolean} metadata - If true, this overrides any specified format parameter or HTTP Accept request header to provide non-recursive information for the given itemPath * @param {string} format - If specified, this overrides the HTTP Accept request header to return either 'json' or 'zip'. If $format is specified, then api-version should also be specified as a query parameter. * @param {string} downloadFileName - If specified and returning other than JSON format, then this download name will be used (else defaults to itemPath) * @param {boolean} includeDownloadTickets * @param {boolean} isShallow - If true, returns only immediate children(files & folders) for the given itemPath. False will return all items recursively within itemPath. * @param {boolean} ignoreRequestedMediaType - Set to true to ignore the HTTP Accept request header. Default is false. * @param {boolean} includeBlobMetadata * @param {boolean} saveAbsolutePath - Set to false to not save the absolute path to the specified directory of the artifact in the returned archive. Works only for artifact directories. Default is true. * @param {boolean} preferRedirect - Set to true to get the redirect response which leads to the stream with content. Default is false. */ getItems(containerId: number, scope?: string, itemPath?: string, metadata?: boolean, format?: string, downloadFileName?: string, includeDownloadTickets?: boolean, isShallow?: boolean, ignoreRequestedMediaType?: boolean, includeBlobMetadata?: boolean, saveAbsolutePath?: boolean, preferRedirect?: boolean): Promise; }