UNPKG

33.9 kBTypeScriptView Raw
1import SystemInterfaces = require("../interfaces/common/System");
2import VSSInterfaces = require("../interfaces/common/VSSInterfaces");
3import WorkItemTrackingInterfaces = require("../interfaces/WorkItemTrackingInterfaces");
4export interface Activity {
5 capacityPerDay?: number;
6 name?: string;
7}
8export interface attribute {
9}
10export interface BacklogColumn {
11 columnFieldReference?: WorkItemTrackingInterfaces.WorkItemFieldReference;
12 width?: number;
13}
14export interface BacklogConfiguration {
15 /**
16 * Behavior/type field mapping
17 */
18 backlogFields?: BacklogFields;
19 /**
20 * Bugs behavior
21 */
22 bugsBehavior?: BugsBehavior;
23 /**
24 * Hidden Backlog
25 */
26 hiddenBacklogs?: string[];
27 /**
28 * Is BugsBehavior Configured in the process
29 */
30 isBugsBehaviorConfigured?: boolean;
31 /**
32 * Portfolio backlog descriptors
33 */
34 portfolioBacklogs?: BacklogLevelConfiguration[];
35 /**
36 * Requirement backlog
37 */
38 requirementBacklog?: BacklogLevelConfiguration;
39 /**
40 * Task backlog
41 */
42 taskBacklog?: BacklogLevelConfiguration;
43 url?: string;
44 /**
45 * Mapped states for work item types
46 */
47 workItemTypeMappedStates?: WorkItemTypeStateInfo[];
48}
49export interface BacklogFields {
50 /**
51 * Field Type (e.g. Order, Activity) to Field Reference Name map
52 */
53 typeFields?: {
54 [key: string]: string;
55 };
56}
57/**
58 * Contract representing a backlog level
59 */
60export interface BacklogLevel {
61 /**
62 * Reference name of the corresponding WIT category
63 */
64 categoryReferenceName?: string;
65 /**
66 * Plural name for the backlog level
67 */
68 pluralName?: string;
69 /**
70 * Collection of work item states that are included in the plan. The server will filter to only these work item types.
71 */
72 workItemStates?: string[];
73 /**
74 * Collection of valid workitem type names for the given backlog level
75 */
76 workItemTypes?: string[];
77}
78export interface BacklogLevelConfiguration {
79 /**
80 * List of fields to include in Add Panel
81 */
82 addPanelFields?: WorkItemTrackingInterfaces.WorkItemFieldReference[];
83 /**
84 * Color for the backlog level
85 */
86 color?: string;
87 /**
88 * Default list of columns for the backlog
89 */
90 columnFields?: BacklogColumn[];
91 /**
92 * Default Work Item Type for the backlog
93 */
94 defaultWorkItemType?: WorkItemTrackingInterfaces.WorkItemTypeReference;
95 /**
96 * Backlog Id (for Legacy Backlog Level from process config it can be categoryref name)
97 */
98 id?: string;
99 /**
100 * Indicates whether the backlog level is hidden
101 */
102 isHidden?: boolean;
103 /**
104 * Backlog Name
105 */
106 name?: string;
107 /**
108 * Backlog Rank (Taskbacklog is 0)
109 */
110 rank?: number;
111 /**
112 * The type of this backlog level
113 */
114 type?: BacklogType;
115 /**
116 * Max number of work items to show in the given backlog
117 */
118 workItemCountLimit?: number;
119 /**
120 * Work Item types participating in this backlog as known by the project/Process, can be overridden by team settings for bugs
121 */
122 workItemTypes?: WorkItemTrackingInterfaces.WorkItemTypeReference[];
123}
124/**
125 * Represents work items in a backlog level
126 */
127export interface BacklogLevelWorkItems {
128 /**
129 * A list of work items within a backlog level
130 */
131 workItems?: WorkItemTrackingInterfaces.WorkItemLink[];
132}
133/**
134 * Definition of the type of backlog level
135 */
136export declare enum BacklogType {
137 /**
138 * Portfolio backlog level
139 */
140 Portfolio = 0,
141 /**
142 * Requirement backlog level
143 */
144 Requirement = 1,
145 /**
146 * Task backlog level
147 */
148 Task = 2
149}
150export interface Board extends BoardReference {
151 _links?: any;
152 allowedMappings?: {
153 [key: string]: {
154 [key: string]: string[];
155 };
156 };
157 canEdit?: boolean;
158 columns?: BoardColumn[];
159 fields?: BoardFields;
160 isValid?: boolean;
161 revision?: number;
162 rows?: BoardRow[];
163}
164/**
165 * Represents a board badge.
166 */
167export interface BoardBadge {
168 /**
169 * The ID of the board represented by this badge.
170 */
171 boardId?: string;
172 /**
173 * A link to the SVG resource.
174 */
175 imageUrl?: string;
176}
177/**
178 * Determines what columns to include on the board badge
179 */
180export declare enum BoardBadgeColumnOptions {
181 /**
182 * Only include In Progress columns
183 */
184 InProgressColumns = 0,
185 /**
186 * Include all columns
187 */
188 AllColumns = 1,
189 /**
190 * Include a custom set of columns
191 */
192 CustomColumns = 2
193}
194export interface BoardCardRuleSettings {
195 _links?: any;
196 rules?: {
197 [key: string]: Rule[];
198 };
199 url?: string;
200}
201export interface BoardCardSettings {
202 cards?: {
203 [key: string]: FieldSetting[];
204 };
205}
206export interface BoardChart extends BoardChartReference {
207 /**
208 * The links for the resource
209 */
210 _links?: any;
211 /**
212 * The settings for the resource
213 */
214 settings?: {
215 [key: string]: any;
216 };
217}
218export interface BoardChartReference {
219 /**
220 * Name of the resource
221 */
222 name?: string;
223 /**
224 * Full http link to the resource
225 */
226 url?: string;
227}
228export interface BoardColumn {
229 columnType?: BoardColumnType;
230 description?: string;
231 id?: string;
232 isSplit?: boolean;
233 itemLimit?: number;
234 name?: string;
235 stateMappings?: {
236 [key: string]: string;
237 };
238}
239export declare enum BoardColumnType {
240 Incoming = 0,
241 InProgress = 1,
242 Outgoing = 2
243}
244export interface BoardFields {
245 columnField?: FieldReference;
246 doneField?: FieldReference;
247 rowField?: FieldReference;
248}
249export interface BoardReference {
250 /**
251 * Id of the resource
252 */
253 id?: string;
254 /**
255 * Name of the resource
256 */
257 name?: string;
258 /**
259 * Full http link to the resource
260 */
261 url?: string;
262}
263export interface BoardRow {
264 color?: string;
265 id?: string;
266 name?: string;
267}
268export interface BoardSuggestedValue {
269 name?: string;
270}
271export interface BoardUserSettings {
272 autoRefreshState?: boolean;
273}
274/**
275 * The behavior of the work item types that are in the work item category specified in the BugWorkItems section in the Process Configuration
276 */
277export declare enum BugsBehavior {
278 Off = 0,
279 AsRequirements = 1,
280 AsTasks = 2
281}
282export interface CapacityContractBase extends TeamSettingsDataContractBase {
283 /**
284 * Collection of capacities associated with the team member
285 */
286 activities?: Activity[];
287 /**
288 * The days off associated with the team member
289 */
290 daysOff?: DateRange[];
291}
292/**
293 * Expected data from PATCH
294 */
295export interface CapacityPatch {
296 activities?: Activity[];
297 daysOff?: DateRange[];
298}
299/**
300 * Card settings, such as fields and rules
301 */
302export interface CardFieldSettings {
303 /**
304 * A collection of field information of additional fields on cards. The index in the collection signifies the order of the field among the additional fields. Currently unused. Should be used with User Story 691539: Card setting: additional fields
305 */
306 additionalFields?: FieldInfo[];
307 /**
308 * Display format for the assigned to field
309 */
310 assignedToDisplayFormat?: IdentityDisplayFormat;
311 /**
312 * A collection of field information of rendered core fields on cards.
313 */
314 coreFields?: FieldInfo[];
315 /**
316 * Flag indicating whether to show assigned to field on cards. When true, AssignedToDisplayFormat will determine how the field will be displayed
317 */
318 showAssignedTo?: boolean;
319 /**
320 * Flag indicating whether to show child rollup on cards
321 */
322 showChildRollup?: boolean;
323 /**
324 * Flag indicating whether to show empty fields on cards
325 */
326 showEmptyFields?: boolean;
327 /**
328 * Flag indicating whether to show ID on cards
329 */
330 showId?: boolean;
331 /**
332 * Flag indicating whether to show parent field on cards
333 */
334 showParent?: boolean;
335 /**
336 * Flag indicating whether to show state field on cards
337 */
338 showState?: boolean;
339 /**
340 * Flag indicating whether to show tags on cards
341 */
342 showTags?: boolean;
343}
344/**
345 * Card settings, such as fields and rules
346 */
347export interface CardSettings {
348 /**
349 * A collection of settings related to rendering of fields on cards
350 */
351 fields: CardFieldSettings;
352}
353/**
354 * Details about a given backlog category
355 */
356export interface CategoryConfiguration {
357 /**
358 * Name
359 */
360 name?: string;
361 /**
362 * Category Reference Name
363 */
364 referenceName?: string;
365 /**
366 * Work item types for the backlog category
367 */
368 workItemTypes?: WorkItemTrackingInterfaces.WorkItemTypeReference[];
369}
370export interface CreatePlan {
371 /**
372 * Description of the plan
373 */
374 description?: string;
375 /**
376 * Name of the plan to create.
377 */
378 name?: string;
379 /**
380 * Plan properties.
381 */
382 properties?: any;
383 /**
384 * Type of plan to create.
385 */
386 type?: PlanType;
387}
388export interface DateRange {
389 /**
390 * End of the date range.
391 */
392 end?: Date;
393 /**
394 * Start of the date range.
395 */
396 start?: Date;
397}
398/**
399 * Data contract for Data of Delivery View
400 */
401export interface DeliveryViewData extends PlanViewData {
402 /**
403 * Work item child id to parent id map
404 */
405 childIdToParentIdMap?: {
406 [key: number]: number;
407 };
408 /**
409 * Filter criteria status of the timeline
410 */
411 criteriaStatus?: TimelineCriteriaStatus;
412 /**
413 * The end date of the delivery view data
414 */
415 endDate?: Date;
416 /**
417 * Max number of teams that can be configured for a delivery plan
418 */
419 maxExpandedTeams?: number;
420 /**
421 * Mapping between parent id, title and all the child work item ids
422 */
423 parentItemMaps?: ParentChildWIMap[];
424 /**
425 * The start date for the delivery view data
426 */
427 startDate?: Date;
428 /**
429 * All the team data
430 */
431 teams?: TimelineTeamData[];
432 /**
433 * List of all work item ids that have a dependency but not a violation
434 */
435 workItemDependencies?: number[];
436 /**
437 * List of all work item ids that have a violation
438 */
439 workItemViolations?: number[];
440}
441/**
442 * Collection of properties, specific to the DeliveryTimelineView
443 */
444export interface DeliveryViewPropertyCollection {
445 /**
446 * Card settings
447 */
448 cardSettings?: CardSettings;
449 /**
450 * Field criteria
451 */
452 criteria?: FilterClause[];
453 /**
454 * Markers. Will be missing/null if there are no markers.
455 */
456 markers?: Marker[];
457 /**
458 * Card style settings
459 */
460 styleSettings?: Rule[];
461 /**
462 * tag style settings
463 */
464 tagStyleSettings?: Rule[];
465 /**
466 * Team backlog mappings
467 */
468 teamBacklogMappings?: TeamBacklogMapping[];
469}
470/**
471 * Object bag storing the set of permissions relevant to this plan
472 */
473export interface FieldInfo {
474 /**
475 * The additional field display name
476 */
477 displayName?: string;
478 /**
479 * The additional field type
480 */
481 fieldType?: FieldType;
482 /**
483 * Indicates if the field definition is for an identity field.
484 */
485 isIdentity?: boolean;
486 /**
487 * The additional field reference name
488 */
489 referenceName?: string;
490}
491/**
492 * An abstracted reference to a field
493 */
494export interface FieldReference {
495 /**
496 * fieldRefName for the field
497 */
498 referenceName?: string;
499 /**
500 * Full http link to more information about the field
501 */
502 url?: string;
503}
504export interface FieldSetting {
505}
506export declare enum FieldType {
507 String = 0,
508 PlainText = 1,
509 Integer = 2,
510 DateTime = 3,
511 TreePath = 4,
512 Boolean = 5,
513 Double = 6
514}
515export interface FilterClause {
516 fieldName?: string;
517 index?: number;
518 logicalOperator?: string;
519 operator?: string;
520 value?: string;
521}
522export interface FilterGroup {
523 end?: number;
524 level?: number;
525 start?: number;
526}
527/**
528 * Enum for the various modes of identity picker
529 */
530export declare enum IdentityDisplayFormat {
531 /**
532 * Display avatar only
533 */
534 AvatarOnly = 0,
535 /**
536 * Display Full name only
537 */
538 FullName = 1,
539 /**
540 * Display Avatar and Full name
541 */
542 AvatarAndFullName = 2
543}
544export interface ITaskboardColumnMapping {
545 state?: string;
546 workItemType?: string;
547}
548/**
549 * Capacity and teams for all teams in an iteration
550 */
551export interface IterationCapacity {
552 teams?: TeamCapacityTotals[];
553 totalIterationCapacityPerDay?: number;
554 totalIterationDaysOff?: number;
555}
556/**
557 * Represents work items in an iteration backlog
558 */
559export interface IterationWorkItems extends TeamSettingsDataContractBase {
560 /**
561 * Work item relations
562 */
563 workItemRelations?: WorkItemTrackingInterfaces.WorkItemLink[];
564}
565/**
566 * Client serialization contract for Delivery Timeline Markers.
567 */
568export interface Marker {
569 /**
570 * Color associated with the marker.
571 */
572 color?: string;
573 /**
574 * Where the marker should be displayed on the timeline.
575 */
576 date?: Date;
577 /**
578 * Label/title for the marker.
579 */
580 label?: string;
581}
582export interface Member {
583 displayName?: string;
584 id?: string;
585 imageUrl?: string;
586 uniqueName?: string;
587 url?: string;
588}
589export interface ParentChildWIMap {
590 childWorkItemIds?: number[];
591 id?: number;
592 title?: string;
593 workItemTypeName?: string;
594}
595/**
596 * Data contract for the plan definition
597 */
598export interface Plan {
599 /**
600 * Identity that created this plan. Defaults to null for records before upgrading to ScaledAgileViewComponent4.
601 */
602 createdByIdentity?: VSSInterfaces.IdentityRef;
603 /**
604 * Date when the plan was created
605 */
606 createdDate?: Date;
607 /**
608 * Description of the plan
609 */
610 description?: string;
611 /**
612 * Id of the plan
613 */
614 id?: string;
615 /**
616 * Date when the plan was last accessed. Default is null.
617 */
618 lastAccessed?: Date;
619 /**
620 * Identity that last modified this plan. Defaults to null for records before upgrading to ScaledAgileViewComponent4.
621 */
622 modifiedByIdentity?: VSSInterfaces.IdentityRef;
623 /**
624 * Date when the plan was last modified. Default to CreatedDate when the plan is first created.
625 */
626 modifiedDate?: Date;
627 /**
628 * Name of the plan
629 */
630 name?: string;
631 /**
632 * The PlanPropertyCollection instance associated with the plan. These are dependent on the type of the plan. For example, DeliveryTimelineView, it would be of type DeliveryViewPropertyCollection.
633 */
634 properties?: any;
635 /**
636 * Revision of the plan. Used to safeguard users from overwriting each other's changes.
637 */
638 revision?: number;
639 /**
640 * Type of the plan
641 */
642 type?: PlanType;
643 /**
644 * The resource url to locate the plan via rest api
645 */
646 url?: string;
647 /**
648 * Bit flag indicating set of permissions a user has to the plan.
649 */
650 userPermissions?: PlanUserPermissions;
651}
652/**
653 * Metadata about a plan definition that is stored in favorites service
654 */
655export interface PlanMetadata {
656 /**
657 * Identity of the creator of the plan
658 */
659 createdByIdentity?: VSSInterfaces.IdentityRef;
660 /**
661 * Description of plan
662 */
663 description?: string;
664 /**
665 * Last modified date of the plan
666 */
667 modifiedDate?: Date;
668 /**
669 * Bit flag indicating set of permissions a user has to the plan.
670 */
671 userPermissions?: PlanUserPermissions;
672}
673/**
674 * Enum for the various types of plans
675 */
676export declare enum PlanType {
677 DeliveryTimelineView = 0
678}
679/**
680 * Flag for permissions a user can have for this plan.
681 */
682export declare enum PlanUserPermissions {
683 /**
684 * None
685 */
686 None = 0,
687 /**
688 * Permission to view this plan.
689 */
690 View = 1,
691 /**
692 * Permission to update this plan.
693 */
694 Edit = 2,
695 /**
696 * Permission to delete this plan.
697 */
698 Delete = 4,
699 /**
700 * Permission to manage this plan.
701 */
702 Manage = 8,
703 /**
704 * Full control permission for this plan.
705 */
706 AllPermissions = 15
707}
708/**
709 * Base class for plan view data contracts. Anything common goes here.
710 */
711export interface PlanViewData {
712 id?: string;
713 revision?: number;
714}
715/**
716 * Represents a single pre-defined query.
717 */
718export interface PredefinedQuery {
719 /**
720 * Whether or not the query returned the complete set of data or if the data was truncated.
721 */
722 hasMore?: boolean;
723 /**
724 * Id of the query
725 */
726 id?: string;
727 /**
728 * Localized name of the query
729 */
730 name?: string;
731 /**
732 * The results of the query. This will be a set of WorkItem objects with only the 'id' set. The client is responsible for paging in the data as needed.
733 */
734 results?: WorkItemTrackingInterfaces.WorkItem[];
735 /**
736 * REST API Url to use to retrieve results for this query
737 */
738 url?: string;
739 /**
740 * Url to use to display a page in the browser with the results of this query
741 */
742 webUrl?: string;
743}
744/**
745 * Process Configurations for the project
746 */
747export interface ProcessConfiguration {
748 /**
749 * Details about bug work items
750 */
751 bugWorkItems?: CategoryConfiguration;
752 /**
753 * Details about portfolio backlogs
754 */
755 portfolioBacklogs?: CategoryConfiguration[];
756 /**
757 * Details of requirement backlog
758 */
759 requirementBacklog?: CategoryConfiguration;
760 /**
761 * Details of task backlog
762 */
763 taskBacklog?: CategoryConfiguration;
764 /**
765 * Type fields for the process configuration
766 */
767 typeFields?: {
768 [key: string]: WorkItemTrackingInterfaces.WorkItemFieldReference;
769 };
770 url?: string;
771}
772/**
773 * Represents a reorder request for one or more work items.
774 */
775export interface ReorderOperation {
776 /**
777 * IDs of the work items to be reordered. Must be valid WorkItem Ids.
778 */
779 ids?: number[];
780 /**
781 * IterationPath for reorder operation. This is only used when we reorder from the Iteration Backlog
782 */
783 iterationPath?: string;
784 /**
785 * ID of the work item that should be after the reordered items. Can use 0 to specify the end of the list.
786 */
787 nextId?: number;
788 /**
789 * Parent ID for all of the work items involved in this operation. Can use 0 to indicate the items don't have a parent.
790 */
791 parentId?: number;
792 /**
793 * ID of the work item that should be before the reordered items. Can use 0 to specify the beginning of the list.
794 */
795 previousId?: number;
796}
797/**
798 * Represents a reorder result for a work item.
799 */
800export interface ReorderResult {
801 /**
802 * The ID of the work item that was reordered.
803 */
804 id?: number;
805 /**
806 * The updated order value of the work item that was reordered.
807 */
808 order?: number;
809}
810export interface Rule {
811 clauses?: FilterClause[];
812 filter?: string;
813 isEnabled?: string;
814 name?: string;
815 settings?: attribute;
816}
817/**
818 * Represents the taskbord column
819 */
820export interface TaskboardColumn {
821 /**
822 * Column ID
823 */
824 id?: string;
825 /**
826 * Work item type states mapped to this column to support auto state update when column is updated.
827 */
828 mappings?: ITaskboardColumnMapping[];
829 /**
830 * Column name
831 */
832 name?: string;
833 /**
834 * Column position relative to other columns in the same board
835 */
836 order?: number;
837}
838/**
839 * Represents the state to column mapping per work item type This allows auto state update when the column changes
840 */
841export interface TaskboardColumnMapping {
842 /**
843 * State of the work item type mapped to the column
844 */
845 state?: string;
846 /**
847 * Work Item Type name who's state is mapped to the column
848 */
849 workItemType?: string;
850}
851export interface TaskboardColumns {
852 columns?: TaskboardColumn[];
853 /**
854 * Are the columns cutomized for this team
855 */
856 isCustomized?: boolean;
857 /**
858 * Specifies if the referenced WIT and State is valid
859 */
860 isValid?: boolean;
861 /**
862 * Details of validation failure if the state to column mapping is invalid
863 */
864 validationMesssage?: string;
865}
866/**
867 * Column value of a work item in the taskboard
868 */
869export interface TaskboardWorkItemColumn {
870 /**
871 * Work item column value in the taskboard
872 */
873 column?: string;
874 /**
875 * Work item column id in the taskboard
876 */
877 columnId?: string;
878 /**
879 * Work Item state value
880 */
881 state?: string;
882 /**
883 * Work item id
884 */
885 workItemId?: number;
886}
887export interface TeamAutomationRulesSettingsRequestModel {
888 backlogLevelName?: string;
889 rulesStates?: {
890 [key: string]: boolean;
891 };
892}
893/**
894 * Mapping of teams to the corresponding work item category
895 */
896export interface TeamBacklogMapping {
897 categoryReferenceName?: string;
898 teamId?: string;
899}
900/**
901 * Represents team member capacity with totals aggregated
902 */
903export interface TeamCapacity {
904 teamMembers?: TeamMemberCapacityIdentityRef[];
905 totalCapacityPerDay?: number;
906 totalDaysOff?: number;
907}
908/**
909 * Team information with total capacity and days off
910 */
911export interface TeamCapacityTotals {
912 teamCapacityPerDay?: number;
913 teamId?: string;
914 teamTotalDaysOff?: number;
915}
916/**
917 * Represents a single TeamFieldValue
918 */
919export interface TeamFieldValue {
920 includeChildren?: boolean;
921 value?: string;
922}
923/**
924 * Essentially a collection of team field values
925 */
926export interface TeamFieldValues extends TeamSettingsDataContractBase {
927 /**
928 * The default team field value
929 */
930 defaultValue?: string;
931 /**
932 * Shallow ref to the field being used as a team field
933 */
934 field?: FieldReference;
935 /**
936 * Collection of all valid team field values
937 */
938 values?: TeamFieldValue[];
939}
940/**
941 * Expected data from PATCH
942 */
943export interface TeamFieldValuesPatch {
944 defaultValue?: string;
945 values?: TeamFieldValue[];
946}
947export interface TeamIterationAttributes {
948 /**
949 * Finish date of the iteration. Date-only, correct unadjusted at midnight in UTC.
950 */
951 finishDate?: Date;
952 /**
953 * Start date of the iteration. Date-only, correct unadjusted at midnight in UTC.
954 */
955 startDate?: Date;
956 /**
957 * Time frame of the iteration, such as past, current or future.
958 */
959 timeFrame?: TimeFrame;
960}
961/**
962 * Represents capacity for a specific team member
963 */
964export interface TeamMemberCapacity extends CapacityContractBase {
965 /**
966 * Shallow Ref to the associated team member
967 */
968 teamMember?: Member;
969}
970/**
971 * Represents capacity for a specific team member
972 */
973export interface TeamMemberCapacityIdentityRef extends CapacityContractBase {
974 /**
975 * Identity ref of the associated team member
976 */
977 teamMember?: VSSInterfaces.IdentityRef;
978}
979/**
980 * Data contract for TeamSettings
981 */
982export interface TeamSetting extends TeamSettingsDataContractBase {
983 /**
984 * Backlog Iteration
985 */
986 backlogIteration: TeamSettingsIteration;
987 /**
988 * Information about categories that are visible on the backlog.
989 */
990 backlogVisibilities: {
991 [key: string]: boolean;
992 };
993 /**
994 * BugsBehavior (Off, AsTasks, AsRequirements, ...)
995 */
996 bugsBehavior: BugsBehavior;
997 /**
998 * Default Iteration, the iteration used when creating a new work item on the queries page.
999 */
1000 defaultIteration?: TeamSettingsIteration;
1001 /**
1002 * Default Iteration macro (if any)
1003 */
1004 defaultIterationMacro?: string;
1005 /**
1006 * Days that the team is working
1007 */
1008 workingDays: SystemInterfaces.DayOfWeek[];
1009}
1010/**
1011 * Base class for TeamSettings data contracts. Anything common goes here.
1012 */
1013export interface TeamSettingsDataContractBase {
1014 /**
1015 * Collection of links relevant to resource
1016 */
1017 _links?: any;
1018 /**
1019 * Full http link to the resource
1020 */
1021 url?: string;
1022}
1023export interface TeamSettingsDaysOff extends TeamSettingsDataContractBase {
1024 daysOff?: DateRange[];
1025}
1026export interface TeamSettingsDaysOffPatch {
1027 daysOff?: DateRange[];
1028}
1029/**
1030 * Represents a shallow ref for a single iteration.
1031 */
1032export interface TeamSettingsIteration extends TeamSettingsDataContractBase {
1033 /**
1034 * Attributes of the iteration such as start and end date.
1035 */
1036 attributes?: TeamIterationAttributes;
1037 /**
1038 * Id of the iteration.
1039 */
1040 id?: string;
1041 /**
1042 * Name of the iteration.
1043 */
1044 name?: string;
1045 /**
1046 * Relative path of the iteration.
1047 */
1048 path?: string;
1049}
1050/**
1051 * Data contract for what we expect to receive when PATCH
1052 */
1053export interface TeamSettingsPatch {
1054 backlogIteration?: string;
1055 backlogVisibilities?: {
1056 [key: string]: boolean;
1057 };
1058 bugsBehavior?: BugsBehavior;
1059 defaultIteration?: string;
1060 defaultIterationMacro?: string;
1061 workingDays?: SystemInterfaces.DayOfWeek[];
1062}
1063export declare enum TimeFrame {
1064 Past = 0,
1065 Current = 1,
1066 Future = 2
1067}
1068export interface TimelineCriteriaStatus {
1069 message?: string;
1070 type?: TimelineCriteriaStatusCode;
1071}
1072export declare enum TimelineCriteriaStatusCode {
1073 /**
1074 * No error - filter is good.
1075 */
1076 OK = 0,
1077 /**
1078 * One of the filter clause is invalid.
1079 */
1080 InvalidFilterClause = 1,
1081 /**
1082 * Unknown error.
1083 */
1084 Unknown = 2
1085}
1086export interface TimelineIterationStatus {
1087 message?: string;
1088 type?: TimelineIterationStatusCode;
1089}
1090export declare enum TimelineIterationStatusCode {
1091 /**
1092 * No error - iteration data is good.
1093 */
1094 OK = 0,
1095 /**
1096 * This iteration overlaps with another iteration, no data is returned for this iteration.
1097 */
1098 IsOverlapping = 1
1099}
1100export interface TimelineTeamData {
1101 /**
1102 * Backlog matching the mapped backlog associated with this team.
1103 */
1104 backlog?: BacklogLevel;
1105 /**
1106 * The field reference names of the work item data
1107 */
1108 fieldReferenceNames?: string[];
1109 /**
1110 * The id of the team
1111 */
1112 id?: string;
1113 /**
1114 * Was iteration and work item data retrieved for this team. <remarks> Teams with IsExpanded false have not had their iteration, work item, and field related data queried and will never contain this data. If true then these items are queried and, if there are items in the queried range, there will be data. </remarks>
1115 */
1116 isExpanded?: boolean;
1117 /**
1118 * The iteration data, including the work items, in the queried date range.
1119 */
1120 iterations?: TimelineTeamIteration[];
1121 /**
1122 * The name of the team
1123 */
1124 name?: string;
1125 /**
1126 * The order by field name of this team
1127 */
1128 orderByField?: string;
1129 /**
1130 * The field reference names of the partially paged work items, such as ID, WorkItemType
1131 */
1132 partiallyPagedFieldReferenceNames?: string[];
1133 partiallyPagedWorkItems?: any[][];
1134 /**
1135 * The project id the team belongs team
1136 */
1137 projectId?: string;
1138 /**
1139 * Work item types for which we will collect roll up data on the client side
1140 */
1141 rollupWorkItemTypes?: string[];
1142 /**
1143 * Status for this team.
1144 */
1145 status?: TimelineTeamStatus;
1146 /**
1147 * The team field default value
1148 */
1149 teamFieldDefaultValue?: string;
1150 /**
1151 * The team field name of this team
1152 */
1153 teamFieldName?: string;
1154 /**
1155 * The team field values
1156 */
1157 teamFieldValues?: TeamFieldValue[];
1158 /**
1159 * Work items associated with the team that are not under any of the team's iterations
1160 */
1161 workItems?: any[][];
1162 /**
1163 * Colors for the work item types.
1164 */
1165 workItemTypeColors?: WorkItemColor[];
1166}
1167export interface TimelineTeamIteration {
1168 /**
1169 * The iteration CSS Node Id
1170 */
1171 cssNodeId?: string;
1172 /**
1173 * The end date of the iteration
1174 */
1175 finishDate?: Date;
1176 /**
1177 * The iteration name
1178 */
1179 name?: string;
1180 /**
1181 * All the partially paged workitems in this iteration.
1182 */
1183 partiallyPagedWorkItems?: any[][];
1184 /**
1185 * The iteration path
1186 */
1187 path?: string;
1188 /**
1189 * The start date of the iteration
1190 */
1191 startDate?: Date;
1192 /**
1193 * The status of this iteration
1194 */
1195 status?: TimelineIterationStatus;
1196 /**
1197 * The work items that have been paged in this iteration
1198 */
1199 workItems?: any[][];
1200}
1201export interface TimelineTeamStatus {
1202 message?: string;
1203 type?: TimelineTeamStatusCode;
1204}
1205export declare enum TimelineTeamStatusCode {
1206 /**
1207 * No error - all data for team is good.
1208 */
1209 OK = 0,
1210 /**
1211 * Team does not exist or access is denied.
1212 */
1213 DoesntExistOrAccessDenied = 1,
1214 /**
1215 * Maximum number of teams was exceeded. No team data will be returned for this team.
1216 */
1217 MaxTeamsExceeded = 2,
1218 /**
1219 * Maximum number of team fields (ie Area paths) have been exceeded. No team data will be returned for this team.
1220 */
1221 MaxTeamFieldsExceeded = 3,
1222 /**
1223 * Backlog does not exist or is missing crucial information.
1224 */
1225 BacklogInError = 4,
1226 /**
1227 * Team field value is not set for this team. No team data will be returned for this team
1228 */
1229 MissingTeamFieldValue = 5,
1230 /**
1231 * Team does not have a single iteration with date range.
1232 */
1233 NoIterationsExist = 6
1234}
1235export interface UpdatePlan {
1236 /**
1237 * Description of the plan
1238 */
1239 description?: string;
1240 /**
1241 * Name of the plan to create.
1242 */
1243 name?: string;
1244 /**
1245 * Plan properties.
1246 */
1247 properties?: any;
1248 /**
1249 * Revision of the plan that was updated - the value used here should match the one the server gave the client in the Plan.
1250 */
1251 revision?: number;
1252 /**
1253 * Type of the plan
1254 */
1255 type?: PlanType;
1256}
1257export interface UpdateTaskboardColumn {
1258 /**
1259 * Column ID, keep it null for new column
1260 */
1261 id?: string;
1262 /**
1263 * Work item type states mapped to this column to support auto state update when column is updated.
1264 */
1265 mappings?: TaskboardColumnMapping[];
1266 /**
1267 * Column name is required
1268 */
1269 name?: string;
1270 /**
1271 * Column position relative to other columns in the same board
1272 */
1273 order?: number;
1274}
1275export interface UpdateTaskboardWorkItemColumn {
1276 newColumn?: string;
1277}
1278/**
1279 * Work item color and icon.
1280 */
1281export interface WorkItemColor {
1282 icon?: string;
1283 primaryColor?: string;
1284 workItemTypeName?: string;
1285}
1286export interface WorkItemTypeStateInfo {
1287 /**
1288 * State name to state category map
1289 */
1290 states?: {
1291 [key: string]: string;
1292 };
1293 /**
1294 * Work Item type name
1295 */
1296 workItemTypeName?: string;
1297}
1298export declare var TypeInfo: {
1299 BacklogConfiguration: any;
1300 BacklogLevelConfiguration: any;
1301 BacklogType: {
1302 enumValues: {
1303 portfolio: number;
1304 requirement: number;
1305 task: number;
1306 };
1307 };
1308 Board: any;
1309 BoardBadgeColumnOptions: {
1310 enumValues: {
1311 inProgressColumns: number;
1312 allColumns: number;
1313 customColumns: number;
1314 };
1315 };
1316 BoardColumn: any;
1317 BoardColumnType: {
1318 enumValues: {
1319 incoming: number;
1320 inProgress: number;
1321 outgoing: number;
1322 };
1323 };
1324 BugsBehavior: {
1325 enumValues: {
1326 off: number;
1327 asRequirements: number;
1328 asTasks: number;
1329 };
1330 };
1331 CapacityContractBase: any;
1332 CapacityPatch: any;
1333 CardFieldSettings: any;
1334 CardSettings: any;
1335 CreatePlan: any;
1336 DateRange: any;
1337 DeliveryViewData: any;
1338 DeliveryViewPropertyCollection: any;
1339 FieldInfo: any;
1340 FieldType: {
1341 enumValues: {
1342 string: number;
1343 plainText: number;
1344 integer: number;
1345 dateTime: number;
1346 treePath: number;
1347 boolean: number;
1348 double: number;
1349 };
1350 };
1351 IdentityDisplayFormat: {
1352 enumValues: {
1353 avatarOnly: number;
1354 fullName: number;
1355 avatarAndFullName: number;
1356 };
1357 };
1358 Marker: any;
1359 Plan: any;
1360 PlanMetadata: any;
1361 PlanType: {
1362 enumValues: {
1363 deliveryTimelineView: number;
1364 };
1365 };
1366 PlanUserPermissions: {
1367 enumValues: {
1368 none: number;
1369 view: number;
1370 edit: number;
1371 delete: number;
1372 manage: number;
1373 allPermissions: number;
1374 };
1375 };
1376 TeamCapacity: any;
1377 TeamIterationAttributes: any;
1378 TeamMemberCapacity: any;
1379 TeamMemberCapacityIdentityRef: any;
1380 TeamSetting: any;
1381 TeamSettingsDaysOff: any;
1382 TeamSettingsDaysOffPatch: any;
1383 TeamSettingsIteration: any;
1384 TeamSettingsPatch: any;
1385 TimeFrame: {
1386 enumValues: {
1387 past: number;
1388 current: number;
1389 future: number;
1390 };
1391 };
1392 TimelineCriteriaStatus: any;
1393 TimelineCriteriaStatusCode: {
1394 enumValues: {
1395 ok: number;
1396 invalidFilterClause: number;
1397 unknown: number;
1398 };
1399 };
1400 TimelineIterationStatus: any;
1401 TimelineIterationStatusCode: {
1402 enumValues: {
1403 ok: number;
1404 isOverlapping: number;
1405 };
1406 };
1407 TimelineTeamData: any;
1408 TimelineTeamIteration: any;
1409 TimelineTeamStatus: any;
1410 TimelineTeamStatusCode: {
1411 enumValues: {
1412 ok: number;
1413 doesntExistOrAccessDenied: number;
1414 maxTeamsExceeded: number;
1415 maxTeamFieldsExceeded: number;
1416 backlogInError: number;
1417 missingTeamFieldValue: number;
1418 noIterationsExist: number;
1419 };
1420 };
1421 UpdatePlan: any;
1422};