import { IPerPageParams, IProject, ProjectId } from '../base'; import { IBranches } from './branches'; import { ICommits } from './commits'; import { IFiles } from './files'; import { IIssues } from './issues'; import { IMergeRequests } from './merge_requests'; import { IMilestones } from './milestones'; import { IProtected } from './protected'; import { ITags } from './tags'; import { IMembers } from './members'; import { IReleases } from './releases'; import { ICompare } from './compare'; import { IHooks } from './hooks'; import { IShares } from './shares'; import { ITloc } from './tloc'; import { IArchive } from './archive'; import { ICommitReviews, ICommitReviewsReview } from './commit_reviews'; import { ITapdWorkItems } from './tapd_workitem'; import { ITGitRequestConfig } from '..'; export type ProjectsOrder = 'id' | 'name' | 'path' | 'created_at' | 'updated_at' | 'last_activity_at'; export type ProjectsSort = 'asc' | 'desc'; export interface IProjects { ( params: { search?: string; archived?: boolean; order_by?: ProjectsOrder; sort?: ProjectsSort; } & IPerPageParams, requestOptions?: ITGitRequestConfig, ): Promise; owned: IProjectsOwned; public: IProjectsPublic; innerSource: IProjectsInnerSource; add: IProjectsAdd; addTo: IProjectsAddTo; get: IProjectsGet; modify: IProjectsModify; delete: IProjectsDelete; issues: IIssues; labels: {}; merge_requests: IMergeRequests; milestones: IMilestones; reviews: ICommitReviews; review: ICommitReviewsReview; files: IFiles; commits: ICommits; protected: IProtected; branches: IBranches; tags: ITags; members: IMembers; releases: IReleases; compare: ICompare; hooks: IHooks; shares: IShares; tloc: ITloc; archive: IArchive; tapd_workitems: ITapdWorkItems; raw( params: { id: ProjectId; sha: string; file_path: string; }, requestOptions?: ITGitRequestConfig, ): Promise; blob( params: { id: ProjectId; sha: string; }, requestOptions?: ITGitRequestConfig, ): Promise; } export type IProjectsOwned = ( params: { search?: string; archived?: boolean; order_by?: ProjectsOrder; sort?: ProjectsSort; } & IPerPageParams, requestOptions?: ITGitRequestConfig, ) => Promise; export type IProjectsPublic = ( params: { order_by?: ProjectsOrder; sort?: ProjectsSort; } & IPerPageParams, requestOptions?: ITGitRequestConfig, ) => Promise; export type IProjectsInnerSource = ( params: { search?: string; order_by?: ProjectsOrder; sort?: ProjectsSort; } & IPerPageParams, requestOptions?: ITGitRequestConfig, ) => Promise; export type IProjectsAdd = ( params: { name: string; path?: string; fork_enabled?: boolean; namespace_id?: number; description?: string; visibility_level?: number; }, requestOptions?: ITGitRequestConfig, ) => Promise; export type IProjectsAddTo = ( params: { user_id: number; name: string; path?: string; description?: string; visibility_level?: number; }, requestOptions?: ITGitRequestConfig, ) => Promise; export type IProjectsGet = ( params: { id: ProjectId; }, requestOptions?: ITGitRequestConfig, ) => Promise; export type IProjectsModify = ( params: { id: ProjectId; name?: string; fork_enabled?: boolean; description?: string; default_branch?: string; limit_file_size?: number; limit_lfs_file_size?: number; issues_enabled?: boolean; merge_requests_enabled?: boolean; wiki_enabled?: boolean; review_enabled?: boolean; tag_name_regex?: string; tag_create_push_level?: number; visibility_level?: number; }, requestOptions?: ITGitRequestConfig, ) => Promise; export type IProjectsDelete = ( params: { id: ProjectId; }, requestOptions?: ITGitRequestConfig, ) => Promise;