import * as Identities from "../Identities/Identities"; import * as WebApi from "../WebApi/WebApi"; export interface CategorizedWebApiTeams { /** * Teams that the user is a member of. */ myTeams: WebApiTeam[]; /** * Teams that the user can read but is not member of. */ otherReadableTeams: WebApiTeam[]; } export declare enum ConnectedServiceKind { /** * Custom or unknown service */ Custom = 0, /** * Azure Subscription */ AzureSubscription = 1, /** * Chef Connection */ Chef = 2, /** * Generic Connection */ Generic = 3 } export interface IdentityData { identityIds: string[]; } export interface Process extends ProcessReference { _links: any; description: string; id: string; isDefault: boolean; type: ProcessType; } /** * Type of process customization on a collection. */ export declare enum ProcessCustomizationType { /** * Process customization can't be computed. */ Unknown = -1, /** * Customization based on project-scoped xml customization */ Xml = 0, /** * Customization based on process inheritance */ Inherited = 1 } export interface ProcessReference { name: string; url: string; } export declare enum ProcessType { System = 0, Custom = 1, Inherited = 2 } /** * Contains the image data for project avatar. */ export interface ProjectAvatar { /** * The avatar image represented as a byte array. */ image: number[]; } export declare enum ProjectChangeType { Modified = 0, Deleted = 1, Added = 2 } /** * Contains information describing a project. */ export interface ProjectInfo { /** * The abbreviated name of the project. */ abbreviation: string; /** * The description of the project. */ description: string; /** * The id of the project. */ id: string; /** * The time that this project was last updated. */ lastUpdateTime: Date; /** * The name of the project. */ name: string; /** * A set of name-value pairs storing additional property data related to the project. */ properties: ProjectProperty[]; /** * The current revision of the project. */ revision: number; /** * The current state of the project. */ state: any; /** * A Uri that can be used to refer to this project. */ uri: string; /** * The version number of the project. */ version: number; /** * Indicates whom the project is visible to. */ visibility: ProjectVisibility; } export interface ProjectMessage { project: ProjectInfo; projectChangeType: ProjectChangeType; shouldInvalidateSystemStore: boolean; } export interface ProjectProperties { /** * The team project Id */ projectId: string; /** * The collection of team project properties */ properties: ProjectProperty[]; } /** * A named value associated with a project. */ export interface ProjectProperty { /** * The name of the property. */ name: string; /** * The value of the property. */ value: any; } export declare enum ProjectVisibility { Unchanged = -1, /** * The project is only visible to users with explicit access. */ Private = 0, /** * Enterprise level project visibility */ Organization = 1, /** * The project is visible to all. */ Public = 2, SystemPrivate = 3 } export interface Proxy { authorization: ProxyAuthorization; /** * This is a description string */ description: string; /** * The friendly name of the server */ friendlyName: string; globalDefault: boolean; /** * This is a string representation of the site that the proxy server is located in (e.g. "NA-WA-RED") */ site: string; siteDefault: boolean; /** * The URL of the proxy server */ url: string; } export interface ProxyAuthorization { /** * Gets or sets the endpoint used to obtain access tokens from the configured token service. */ authorizationUrl: string; /** * Gets or sets the client identifier for this proxy. */ clientId: string; /** * Gets or sets the user identity to authorize for on-prem. */ identity: Identities.IdentityDescriptor; /** * Gets or sets the public key used to verify the identity of this proxy. Only specify on hosted. */ publicKey: WebApi.PublicKey; } export declare enum SourceControlTypes { Tfvc = 1, Git = 2 } /** * The Team Context for an operation. */ export interface TeamContext { /** * The team project Id or name. Ignored if ProjectId is set. */ project: string; /** * The Team Project ID. Required if Project is not set. */ projectId: string; /** * The Team Id or name. Ignored if TeamId is set. */ team: string; /** * The Team Id */ teamId: string; } /** * Represents a Team Project object. */ export interface TeamProject extends TeamProjectReference { /** * The links to other objects related to this object. */ _links: any; /** * Set of capabilities this project has (such as process template & version control). */ capabilities: { [key: string]: { [key: string]: string; }; }; /** * The shallow ref to the default team. */ defaultTeam: WebApiTeamRef; } /** * Data contract for a TeamProjectCollection. */ export interface TeamProjectCollection extends TeamProjectCollectionReference { /** * The links to other objects related to this object. */ _links: any; /** * Project collection description. */ description: string; /** * Process customization type on this collection. It can be Xml or Inherited. */ processCustomizationType: ProcessCustomizationType; /** * Project collection state. */ state: string; } /** * Reference object for a TeamProjectCollection. */ export interface TeamProjectCollectionReference { /** * Collection avatar Url. */ avatarUrl: string; /** * Collection Id. */ id: string; /** * Collection Name. */ name: string; /** * Collection REST Url. */ url: string; } /** * Represents a shallow reference to a TeamProject. */ export interface TeamProjectReference { /** * Project abbreviation. */ abbreviation: string; /** * Url to default team identity image. */ defaultTeamImageUrl: string; /** * The project's description (if any). */ description: string; /** * Project identifier. */ id: string; /** * Project last update time. */ lastUpdateTime: Date; /** * Project name. */ name: string; /** * Project revision. */ revision: number; /** * Project state. */ state: any; /** * Url to the full version of the object. */ url: string; /** * Project visibility. */ visibility: ProjectVisibility; } /** * A data transfer object that stores the metadata associated with the creation of temporary data. */ export interface TemporaryDataCreatedDTO extends TemporaryDataDTO { /** * Temporary data expiration date. */ expirationDate: Date; /** * Temporary data id. */ id: string; /** * Rest url for the temporary data. */ url: string; } /** * A data transfer object that stores the metadata associated with the temporary data. */ export interface TemporaryDataDTO { /** * Temporary data expire in seconds */ expirationSeconds: number; /** * Temporary data origin */ origin: string; /** * Temporary data. */ value: any; } /** * Updateable properties for a WebApiTeam. */ export interface UpdateTeam { /** * New description for the team. */ description: string; /** * New name for the team. */ name: string; } export interface WebApiConnectedService extends WebApiConnectedServiceRef { /** * The user who did the OAuth authentication to created this service */ authenticatedBy: WebApi.IdentityRef; /** * Extra description on the service. */ description: string; /** * Friendly Name of service connection */ friendlyName: string; /** * Id/Name of the connection service. For Ex: Subscription Id for Azure Connection */ id: string; /** * The kind of service. */ kind: string; /** * The project associated with this service */ project: TeamProjectReference; /** * Optional uri to connect directly to the service such as https://windows.azure.com */ serviceUri: string; } export interface WebApiConnectedServiceDetails extends WebApiConnectedServiceRef { /** * Meta data for service connection */ connectedServiceMetaData: WebApiConnectedService; /** * Credential info */ credentialsXml: string; /** * Optional uri to connect directly to the service such as https://windows.azure.com */ endPoint: string; } export interface WebApiConnectedServiceRef { id: string; url: string; } /** * The representation of data needed to create a tag definition which is sent across the wire. */ export interface WebApiCreateTagRequestData { /** * Name of the tag definition that will be created. */ name: string; } export interface WebApiProject extends TeamProjectReference { /** * Set of capabilities this project has */ capabilities: { [key: string]: { [key: string]: string; }; }; /** * Reference to collection which contains this project */ collection: WebApiProjectCollectionRef; /** * Default team for this project */ defaultTeam: WebApiTeamRef; } export interface WebApiProjectCollection extends WebApiProjectCollectionRef { /** * Project collection description */ description: string; /** * Project collection state */ state: string; } export interface WebApiProjectCollectionRef { /** * Collection Tfs Url (Host Url) */ collectionUrl: string; /** * Collection Guid */ id: string; /** * Collection Name */ name: string; /** * Collection REST Url */ url: string; } /** * The representation of a tag definition which is sent across the wire. */ export interface WebApiTagDefinition { /** * Whether or not the tag definition is active. */ active: boolean; /** * ID of the tag definition. */ id: string; /** * The name of the tag definition. */ name: string; /** * Resource URL for the Tag Definition. */ url: string; } export interface WebApiTeam extends WebApiTeamRef { /** * Team description */ description: string; /** * Team identity. */ identity: Identities.Identity; /** * Identity REST API Url to this team */ identityUrl: string; projectId: string; projectName: string; } export interface WebApiTeamRef { /** * Team (Identity) Guid. A Team Foundation ID. */ id: string; /** * Team name */ name: string; /** * Team REST API Url */ url: string; }