import { BaseResource, BaseResourceOptions } from '@gitbeaker/requester-utils'; interface UserAgentDetailSchema extends Record { user_agent: string; ip_address: string; akismet_submitted: boolean; } type CamelizeString = T extends string ? string extends T ? string : T extends `${infer F}_${infer R}` ? `${F}${Capitalize>}` : T : T; type Camelize = { [K in keyof T as CamelizeString]: Camelize; }; type Simplify = T extends infer S ? { [K in keyof S]: S[K]; } : never; type Never = Simplify<{ [P in keyof T]?: never; }>; type SomeOf = { [K in keyof T]: Pick, K>; }[keyof T]; type OneOf = { [K in keyof T]: Simplify & Never>>; }[keyof T]; type OneOrNoneOf = Never | OneOf; type AllOrNone> = T | Partial>; type MappedOmit = { [P in keyof T as P extends K ? never : P]: T[P]; }; interface IsForm { isForm?: boolean; } interface Sudo { sudo?: string | number; } interface AsStream { asStream?: boolean; } interface ShowExpanded { showExpanded?: E; } type BaseRequestOptions = Sudo & ShowExpanded & { [Key in string]?: any; }; type PaginationTypes = 'keyset' | 'offset'; interface KeysetPaginationRequestOptions { orderBy: string; sort: 'asc' | 'dec'; } interface OffsetPaginationRequestOptions { page?: number | string; maxPages?: number; } interface BasePaginationRequestOptions

{ pagination?: P; perPage?: number | string; } type PaginationRequestSubOptions

= P extends 'keyset' ? AllOrNone : P extends 'offset' ? OffsetPaginationRequestOptions : AllOrNone & OffsetPaginationRequestOptions; type PaginationRequestOptions

= BasePaginationRequestOptions

& PaginationRequestSubOptions

; type CamelizedResponse = C extends true ? Camelize : T; interface OffsetPagination { total: number; next: number | null; current: number; previous: number | null; perPage: number; totalPages: number; } interface KeysetPagination { idAfter: number; perPage: number; orderBy: string; sort: 'asc' | 'dec'; } interface ExpandedResponse { data: T; headers: Record; status: number; } type PaginatedResponse = { [U in P]: { paginationInfo: P extends 'keyset' ? KeysetPagination : OffsetPagination; data: T; }; }[P]; type GitlabAPIExpandedResponse = E extends true ? P extends PaginationTypes ? PaginatedResponse : ExpandedResponse : T; type GitlabAPISingleResponse = T extends Record ? GitlabAPIExpandedResponse, E, undefined> : GitlabAPIExpandedResponse; type GitlabAPIMultiResponse = T extends Record ? GitlabAPIExpandedResponse[], E, P> : GitlabAPIExpandedResponse; type GitlabAPIResponse = T extends (infer R)[] ? GitlabAPIMultiResponse : GitlabAPISingleResponse; interface ProjectRemoteMirrorSchema extends Record { enabled: boolean; id: number; last_error?: string; last_successful_update_at: string; last_update_at: string; last_update_started_at: string; only_protected_branches: boolean; keep_divergent_refs: boolean; update_status: string; url: string; } declare class ProjectRemoteMirrors extends BaseResource { all(projectId: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; createPullMirror(projectId: string | number, url: string, mirror: boolean, options?: { onlyProtectedBranches?: boolean; } & Sudo & ShowExpanded): Promise>; createPushMirror(projectId: string | number, url: string, options?: { enabled?: boolean; onlyProtectedBranches?: boolean; keepDivergentRefs?: boolean; mirrorBranchRegex?: string; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, mirrorId: number, options?: { enabled?: boolean; onlyProtectedBranches?: boolean; keepDivergentRefs?: boolean; mirrorBranchRegex?: string; } & Sudo & ShowExpanded): Promise>; remove(name: string, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, mirrorId: number, options?: Sudo & ShowExpanded): Promise>; } type AllEventOptions = { action?: 'created' | 'updated' | 'closed' | 'reopened' | 'pushed' | 'commented' | 'merged' | 'joined' | 'left' | 'destroyed' | 'expired'; targetType?: 'issue' | 'milestone' | 'merge_request' | 'note' | 'project' | 'snippet' | 'user'; before?: string; after?: string; scope?: string; sort?: 'asc' | 'desc'; }; interface EventSchema extends Record { id: number; title?: string; project_id: number; action_name: string; target_id: number; target_type: string; author_id: number; target_title: string; created_at: string; author: MappedOmit; author_username: string; } declare class Events extends BaseResource { all({ projectId, userId, ...options }?: OneOrNoneOf<{ projectId?: string | number; userId: string | number; }> & AllEventOptions & PaginationRequestOptions

& BaseRequestOptions): Promise>; } interface PersonalAccessTokenSchema extends Record { id: number; name: string; revoked: boolean; created_at: string; scopes?: string[]; user_id: number; last_used_at: string; active: boolean; expires_at?: string; token: string; } type PersonalAccessTokenScopes = 'api' | 'read_api' | 'read_user' | 'create_runner' | 'read_repository' | 'write_repository' | 'read_registry' | 'write_registry' | 'sudo' | 'admin_mode'; type AllPersonalAccessTokenOptions = { userId?: string | number; state?: 'active' | 'inactive'; search?: string; revoked?: boolean; lastUsedBefore?: string; lastUsedAfter?: string; createdBefore?: string; createdAfter?: string; }; declare class PersonalAccessTokens extends BaseResource { all(options?: AllPersonalAccessTokenOptions & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(userId: number, name: string, scopes: string[], options?: { expiresAt?: string; } & Sudo & ShowExpanded): Promise>; remove({ tokenId, ...options }?: { tokenId?: string | number; } & Sudo & ShowExpanded): Promise>; rotate(tokenId: number, options?: { expiresAt?: string; } & Sudo & ShowExpanded): Promise>; show({ tokenId, ...options }?: { tokenId?: string | number; } & Sudo & ShowExpanded): Promise>; } interface CustomAttributeSchema extends Record { key: string; value: string; } declare class ResourceCustomAttributes extends BaseResource { constructor(resourceType: string, options: BaseResourceOptions); all(resourceId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; remove(resourceId: string | number, customAttributeId: string, options?: Sudo & ShowExpanded): Promise>; set(resourceId: string | number, customAttributeId: string, value: string, options?: Sudo & ShowExpanded): Promise>; show(resourceId: string | number, customAttributeId: string, options?: Sudo & ShowExpanded): Promise>; } declare enum AccessLevel { NO_ACCESS = 0, MINIMAL_ACCESS = 5, GUEST = 10, REPORTER = 20, DEVELOPER = 30, MAINTAINER = 40, OWNER = 50, ADMIN = 60 } interface UserSchema extends Record { id: number; name: string; username: string; state: string; avatar_url: string; web_url: string; created_at?: string; } interface ExpandedUserSchema extends UserSchema { is_admin?: boolean; bio?: string; bot: boolean; location?: string; public_email: string; skype: string; linkedin: string; twitter: string; website_url: string; organization?: string; job_title?: string; prnouns?: string; work_information?: string; followers?: number; following?: number; local_time?: string; is_followed?: boolean; last_sign_in_at: string; confirmed_at: string; last_activity_on: string; email: string; theme_id: number; color_scheme_id: number; projects_limit: number; current_sign_in_at?: string; note?: string; identities?: { provider: string; extern_uid: string; saml_provider_id?: number; }[]; can_create_group: boolean; can_create_project: boolean; two_factor_enabled: boolean; external: boolean; private_profile?: string; current_sign_in_ip: string; last_sign_in_ip: string; namespace_id?: number; created_by?: string; shared_runners_minutes_limit?: number; extra_shared_runners_minutes_limit?: number; is_auditor?: boolean; using_license_seat?: boolean; provisioned_by_group_id?: number; } interface UserActivitySchema extends Record { username: string; last_activity_on: string; last_activity_at: string; } interface UserStatusSchema extends Record { emoji: string; availability: string; message: string; message_html: string; clear_status_at: string; } interface UserPreferenceSchema extends Record { id: number; user_id: number; view_diffs_file_by_file: boolean; show_whitespace_in_diffs: boolean; } interface UserCountSchema extends Record { merge_requests: number; assigned_issues: number; assigned_merge_requests: number; review_requested_merge_requests: number; todos: number; } interface UserAssociationCountSchema extends Record { groups_count: number; projects_count: number; issues_count: number; merge_requests_count: number; } interface UserMembershipSchema extends Record { source_id: number; source_name: string; source_type: 'Project' | 'Namespace'; access_level: Exclude; } interface UserRunnerSchema extends Record { id: number; token: string; token_expires_at?: string; } type AllUsersOptions = { orderBy?: 'name' | 'username' | 'created_at' | 'updated_at'; createdBy?: string; sort?: 'asc' | 'desc'; twoFactor?: string; withoutProjects?: boolean; admins?: boolean; samlProviderId?: number; skipLdap?: boolean; search?: string; username?: string; active?: boolean; blocked?: boolean; external?: boolean; excludeInternal?: boolean; excludeExternal?: boolean; withoutProjectBots?: boolean; createdBefore?: string; createdAfter?: string; withCustomAttributes?: boolean; customAttributes?: Record; } & AllOrNone<{ provider: string; externUid: string; }>; type CreateUserOptions = { admin?: boolean; auditor?: boolean; avatar?: { content: Blob; filepath?: string; }; bio?: string; canCreateGroup?: boolean; colorSchemeId?: number; email?: string; externUid?: string; external?: boolean; extraSharedRunnersMinutesLimit?: number; forceRandomPassword?: boolean; groupIdForSaml?: number; linkedin?: string; location?: string; name?: string; note?: string; organization?: string; password?: string; privateProfile?: string; projectsLimit?: number; provider?: string; resetPassword?: boolean; sharedRunnersMinutesLimit?: number; skipConfirmation?: boolean; skype?: string; themeId?: number; twitter?: string; discord?: string; username?: string; viewDiffsFileByFile?: boolean; websiteUrl?: string; }; type EditUserOptions = CreateUserOptions; type CreateUserCIRunnerOptions = { groupId?: number; projectId?: number; description?: string; paused?: boolean; locked?: boolean; runUntagged?: boolean; tagList?: string[]; accessLevel?: 'not_protected' | 'ref_protected'; maximumTimeout?: number; maintenanceNote?: string; }; type AllUserProjectsOptions = { archived?: boolean; idAfter?: number; idBefore?: number; membership?: boolean; minAccessLevel?: Exclude; orderBy?: 'id' | 'name' | 'path' | 'created_at' | 'updated_at' | 'last_activity_at'; owned?: boolean; search?: string; simple?: boolean; sort?: 'asc' | 'desc'; starred?: boolean; statistics?: boolean; visibility?: 'public' | 'internal' | 'private'; withCustomAttributes?: boolean; withIssuesEnabled?: boolean; withMergeRequestsEnabled?: boolean; withProgrammingLanguage?: string; updatedBefore?: string; updatedAfter?: string; }; declare class Users extends BaseResource { activate(userId: number, options?: Sudo & ShowExpanded): Promise>; all(options?: AllUsersOptions & PaginationRequestOptions

& Sudo & ShowExpanded & { withCustomAttributes: true; }): Promise>; all(options?: AllUsersOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allActivities(options?: { from?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allEvents(userId: number, options?: AllEventOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise[], E, void>>; allFollowers(userId: number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allFollowing(userId: number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allMemberships(userId: number, options?: { type?: 'Project' | 'Namespace'; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allProjects(userId: string | number, options: PaginationRequestOptions

& AllUserProjectsOptions & Sudo & ShowExpanded & { simple: true; }): Promise>; allProjects(userId: string | number, options: PaginationRequestOptions

& AllUserProjectsOptions & Sudo & ShowExpanded & { statistics: true; }): Promise>; allProjects(userId: string | number, options?: PaginationRequestOptions

& AllUserProjectsOptions & Sudo & ShowExpanded): Promise>; allContributedProjects(userId: string | number, options: PaginationRequestOptions

& AllUserProjectsOptions & Sudo & ShowExpanded & { simple: true; }): Promise>; allContributedProjects(userId: string | number, options: PaginationRequestOptions

& AllUserProjectsOptions & Sudo & ShowExpanded & { statistics: true; }): Promise>; allContributedProjects(userId: string | number, options?: PaginationRequestOptions

& AllUserProjectsOptions & Sudo & ShowExpanded): Promise>; allStarredProjects(userId: string | number, options: PaginationRequestOptions

& AllUserProjectsOptions & Sudo & ShowExpanded & { simple: true; }): Promise>; allStarredProjects(userId: string | number, options: PaginationRequestOptions

& AllUserProjectsOptions & Sudo & ShowExpanded & { statistics: true; }): Promise>; allStarredProjects(userId: string | number, options?: PaginationRequestOptions

& AllUserProjectsOptions & Sudo & ShowExpanded): Promise>; approve(userId: number, options?: Sudo & ShowExpanded): Promise>; ban(userId: number, options?: Sudo & ShowExpanded): Promise>; block(userId: number, options?: Sudo & ShowExpanded): Promise>; create(options?: CreateUserOptions & Sudo & ShowExpanded): Promise>; createPersonalAccessToken(userId: number, name: string, scopes: string[], options?: { expiresAt?: string; } & Sudo & ShowExpanded): Promise>; createCIRunner(runnerType: 'instance_type' | 'group_type' | 'project_type', options?: CreateUserCIRunnerOptions & Sudo & ShowExpanded): Promise>; deactivate(userId: number, options?: Sudo & ShowExpanded): Promise>; disableTwoFactor(userId: number, options?: Sudo & ShowExpanded): Promise>; edit(userId: number, options?: EditUserOptions & Sudo & ShowExpanded): Promise, E, undefined>>; editStatus(options?: { emoji?: string; message?: string; clearStatusAfter?: '30_minutes' | '3_hours' | '8_hours' | '1_day' | '3_days' | '7_days' | '30_days'; } & Sudo & ShowExpanded): Promise>; editCurrentUserPreferences(viewDiffsFileByFile: boolean, showWhitespaceInDiffs: boolean, options?: Sudo & ShowExpanded): Promise>; follow(userId: number, options?: Sudo & ShowExpanded): Promise>; reject(userId: number, options?: Sudo & ShowExpanded): Promise>; show(userId: number, options?: Sudo & ShowExpanded): Promise>; showCount(options?: Sudo & ShowExpanded): Promise>; showAssociationsCount(userId: number, options?: Sudo & ShowExpanded): Promise>; showCurrentUser(options?: Sudo & ShowExpanded): Promise>; showCurrentUserPreferences(options?: Sudo & ShowExpanded): Promise>; showStatus({ iDOrUsername, ...options }?: { iDOrUsername?: string | number; } & Sudo & ShowExpanded): Promise>; remove(userId: number, options?: { hardDelete?: boolean; } & Sudo & ShowExpanded): Promise>; removeAuthenticationIdentity(userId: number, provider: string, options?: Sudo & ShowExpanded): Promise>; unban(userId: number, options?: Sudo & ShowExpanded): Promise>; unblock(userId: number, options?: Sudo & ShowExpanded): Promise>; unfollow(userId: number, options?: Sudo & ShowExpanded): Promise>; } interface CondensedNamespaceSchema extends Record { id: number; name: string; path: string; kind: string; full_path: string; parent_id?: number; avatar_url: string; web_url: string; } interface NamespaceSchema extends CondensedNamespaceSchema { members_count_with_descendants: number; billable_members_count: number; plan: string; trial_ends_on?: string; trial: boolean; } declare class Namespaces extends BaseResource { all(options?: { search?: string; ownedOnly?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; exists(namespaceId: string | number, options?: { parentId?: string; } & Sudo & ShowExpanded): Promise>; show(namespaceId: string | number, options?: Sudo & ShowExpanded): Promise>; } interface GroupStatisticsSchema { storage_size: number; repository_size: number; wiki_size: number; lfs_objects_size: number; job_artifacts_size: number; pipeline_artifacts_size: number; packages_size: number; snippets_size: number; uploads_size: number; } interface CondensedGroupSchema extends Record { id: number; web_url: string; name: string; } interface SimpleGroupSchema extends CondensedGroupSchema { avatar_url: string; full_name: string; full_path: string; } interface GroupSchema extends SimpleGroupSchema { path: string; description: string; visibility: string; share_with_group_lock: boolean; require_two_factor_authentication: boolean; two_factor_grace_period: number; project_creation_level: string; auto_devops_enabled?: boolean; subgroup_creation_level: string; emails_disabled?: boolean; mentions_disabled?: boolean; lfs_enabled: boolean; default_branch_protection: number; request_access_enabled: boolean; created_at: string; parent_id: number; ldap_cn?: string; ldap_access?: string; marked_for_deletion_on?: string; membership_lock?: boolean; } interface ExpandedGroupSchema extends GroupSchema { runners_token: string; file_template_project_id: number; shared_with_groups?: ProjectSchema[]; projects?: ProjectSchema[]; shared_projects?: ProjectSchema[]; } type AllGroupsOptions = { skipGroups?: number[]; allAvailable?: boolean; search?: string; orderBy?: 'name' | 'path' | 'id'; sort?: 'asc' | 'desc'; statistics?: boolean; withCustomAttributes?: boolean; owned?: boolean; minAccessLevel?: Exclude; topLevelOnly?: boolean; }; type AllGroupProjectsOptions = { visibility?: string; orderBy?: 'id' | 'name' | 'path' | 'created_at' | 'updated_at' | 'similarity' | 'last_activity_at'; sort?: 'asc' | 'desc'; archived?: boolean; search?: string; simple?: boolean; owned?: boolean; starred?: boolean; withIssuesEnabled?: boolean; withMergeRequestsEnabled?: boolean; withShared?: boolean; includeSubgroups?: boolean; minAccessLevel?: Exclude; withCustomAttributes?: boolean; withSecurityReports?: boolean; }; type CreateGroupOptions = { autoDevopsEnabled?: boolean; avatar?: { content: Blob; filename: string; }; defaultBranchProtection?: 0 | 1 | 2 | 3; description?: string; emailsDisabled?: boolean; lfsEnabled?: boolean; mentionsDisabled?: boolean; parentId?: number; projectCreationLevel?: 'noone' | 'maintainer' | 'developer'; requestAccessEnabled?: boolean; requireTwoFactorAuthentication?: boolean; shareWithGroupLock?: boolean; subgroupCreationLevel?: string; twoFactorGracePeriod?: number; visibility?: 'private' | 'public'; membershipLock?: boolean; extraSharedRunnersMinutesLimit?: number; sharedRunnersMinutesLimit?: number; }; type EditGroupOptions = { name?: string; path?: string; autoDevopsEnabled?: boolean; avatar?: { content: Blob; filename: string; }; defaultBranchProtection?: 0 | 1 | 2 | 3; description?: string; emailsDisabled?: boolean; lfsEnabled?: boolean; mentionsDisabled?: boolean; preventSharingGroupsOutsideHierarchy?: boolean; projectCreationLevel?: 'noone' | 'maintainer' | 'developer'; requestAccessEnabled?: boolean; requireTwoFactorAuthentication?: boolean; sharedRunnersSetting?: 'enabled' | 'disabled_and_overridable' | 'disabled_and_unoverridable' | 'disabled_with_override'; shareWithGroupLock?: boolean; subgroupCreationLevel?: string; twoFactorGracePeriod?: number; visibility?: 'private' | 'public'; extraSharedRunnersMinutesLimit?: number; fileTemplateProjectId?: number; membershipLock?: boolean; preventForkingOutsideGroup?: boolean; sharedRunnersMinutesLimit?: number; uniqueProjectDownloadLimit?: number; uniqueProjectDownloadLimitIntervalInSeconds?: number; uniqueProjectDownloadLimitAllowlist?: string[]; uniqueProjectDownloadLimitAlertlist?: number[]; autoBanUserOnExcessiveProjectsDownload?: boolean; ipRestrictionRanges?: string; }; type AllProvisionedUsersOptions = { username?: string; search?: string; active?: boolean; blocked?: boolean; createdAfter?: string; createdBefore?: string; }; declare class Groups extends BaseResource { all(options: { withCustomAttributes: true; } & AllGroupsOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; all(options: { statistics: true; } & AllGroupsOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; all(options?: AllGroupsOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allDescendantGroups(groupId: string | number, options: { statistics: true; } & AllGroupsOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allDescendantGroups(groupId: string | number, options: AllGroupsOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allProjects(groupId: string | number, options?: { simple: true; } & AllGroupProjectsOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allProjects(groupId: string | number, options?: AllGroupProjectsOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allSharedProjects(groupId: string | number, options?: { simple: true; } & AllGroupProjectsOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allSharedProjects(groupId: string | number, options?: AllGroupProjectsOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allSubgroups(groupId: string | number, options?: { statistics: true; } & AllGroupsOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allSubgroups(groupId: string | number, options?: AllGroupsOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allProvisionedUsers(groupId: string | number, options?: AllProvisionedUsersOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allTransferLocations(groupId: string | number, options?: { search?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(name: string, path: string, { avatar, ...options }?: CreateGroupOptions & Sudo & ShowExpanded): Promise>; downloadAvatar(groupId: string | number, options?: Sudo & ShowExpanded): Promise>; edit(groupId: string | number, { avatar, ...options }?: EditGroupOptions & Sudo & ShowExpanded): Promise>; remove(groupId: string | number, options?: { permanentlyRemove?: boolean | string; fullPath?: string; } & Sudo & ShowExpanded): Promise>; removeAvatar(groupId: string | number, options?: Sudo & ShowExpanded): Promise>; restore(groupId: string | number, options?: Sudo & ShowExpanded): Promise>; search(nameOrPath: string, options?: Sudo & ShowExpanded): Promise>; share(groupId: string | number, sharedGroupId: string | number, groupAccess: number, options: { expiresAt?: string; } & Sudo & ShowExpanded): Promise>; show(groupId: string | number, options?: BaseRequestOptions): Promise>; transfer(groupId: string | number, options?: { groupId?: number; } & Sudo & ShowExpanded): Promise>; transferProject(groupId: string | number, projectId: string | number, options?: Sudo & ShowExpanded): Promise>; unshare(groupId: string | number, sharedGroupId: string | number, options: Sudo & ShowExpanded): Promise>; uploadAvatar(groupId: string | number, content: Blob, { filename, ...options }?: { filename?: string; } & Sudo & ShowExpanded): Promise>; } type AccessLevelSettingState = 'disabled' | 'enabled' | 'private'; interface ProjectStarrerSchema extends Record { starred_since: string; user: MappedOmit; } interface ProjectStoragePath extends Record { project_id: string | number; disk_path: string; created_at: string; repository_storage: string; } interface ProjectStatisticsSchema { commit_count: number; storage_size: number; repository_size: number; wiki_size: number; lfs_objects_size: number; job_artifacts_size: number; pipeline_artifacts_size: number; packages_size: number; snippets_size: number; uploads_size: number; } interface ProjectLicenseSchema { key: string; name: string; nickname: string; html_url: string; source_url: string; } interface CondensedProjectSchema extends Record { id: number; web_url: string; name: string; path: string; } interface SimpleProjectSchema extends CondensedProjectSchema { description: string; name_with_namespace: string; path_with_namespace: string; created_at: string; default_branch: string; topics: string[] | null; ssh_url_to_repo: string; http_url_to_repo: string; readme_url: string; forks_count: number; avatar_url: string | null; star_count: number; last_activity_at: string; namespace: CondensedNamespaceSchema; } interface ProjectSchema extends SimpleProjectSchema { issues_template?: string; merge_requests_template?: string; mirror_trigger_builds?: boolean; container_registry_image_prefix: string; _links: { self: string; issues: string; merge_requests: string; repo_branches: string; labels: string; events: string; members: string; cluster_agents: string; }; packages_enabled: boolean; empty_repo: boolean; archived: boolean; visibility: string; owner: Pick; resolve_outdated_diff_discussions: boolean; container_expiration_policy: { cadence: string; enabled: boolean; keep_n: number; older_than: string; name_regex: string; name_regex_keep?: null; next_run_at: string; }; issues_enabled: boolean; merge_requests_enabled: boolean; wiki_enabled: boolean; jobs_enabled: boolean; snippets_enabled: boolean; container_registry_enabled: boolean; service_desk_enabled: boolean; can_create_merge_request_in: boolean; issues_access_level: string; repository_access_level: string; merge_requests_access_level: string; forking_access_level: string; wiki_access_level: string; builds_access_level: string; snippets_access_level: string; pages_access_level: string; analytics_access_level: string; container_registry_access_level: string; security_and_compliance_access_level: string; releases_access_level: string; environments_access_level: string; feature_flags_access_level: string; infrastructure_access_level: string; monitor_access_level: string; emails_disabled?: boolean; shared_runners_enabled: boolean; lfs_enabled: boolean; creator_id: number; import_status: string; open_issues_count: number; description_html: string; updated_at: string; ci_config_path: string; public_jobs: boolean; shared_with_groups?: string[]; only_allow_merge_if_pipeline_succeeds: boolean; allow_merge_on_skipped_pipeline?: boolean; request_access_enabled: boolean; only_allow_merge_if_all_discussions_are_resolved: boolean; remove_source_branch_after_merge: boolean; printing_merge_request_link_enabled: boolean; merge_method: string; squash_option: string; enforce_auth_checks_on_uploads: boolean; suggestion_commit_message?: string; merge_commit_template?: string; squash_commit_template?: string; issue_branch_template?: string; autoclose_referenced_issues: boolean; external_authorization_classification_label: string; requirements_enabled: boolean; requirements_access_level: string; security_and_compliance_enabled: boolean; compliance_frameworks?: string[]; permissions: { project_access?: null; group_access?: null; }; } interface ProjectFileUploadSchema extends Record { alt: string; url: string; full_path: string; markdown: string; } type AllProjectsOptions = { archived?: boolean; idAfter?: number; idBefore?: number; imported?: boolean; lastActivityAfter?: string; lastActivityBefore?: string; membership?: boolean; minAccessLevel?: Exclude; orderBy?: 'id' | 'name' | 'path' | 'created_at' | 'updated_at' | 'last_activity_at'; owned?: boolean; repositoryChecksumFailed?: boolean; repositoryStorage?: string; searchNamespaces?: boolean; search?: string; simple?: boolean; sort?: 'asc' | 'desc'; starred?: boolean; statistics?: boolean; topic?: string; topicId?: number; visibility?: 'public' | 'internal' | 'private'; wikiChecksumFailed?: boolean; withCustomAttributes?: boolean; withIssuesEnabled?: boolean; withMergeRequestsEnabled?: boolean; withProgrammingLanguage?: string; updatedBefore?: string; updatedAfter?: string; }; type CreateProjectOptions = { userId?: number; avatar?: { content: Blob; filename: string; }; allowMergeOnSkippedPipeline?: boolean; onlyAllowMergeIfAllStatusChecksPassed?: boolean; analyticsAccessLevel?: AccessLevelSettingState; approvalsBeforeMerge?: number; autoCancelPendingPipelines?: string; autoDevopsDeployStrategy?: 'continuous' | 'manual' | 'timed_incremental'; autoDevopsEnabled?: boolean; autocloseReferencedIssues?: boolean; buildGitStrategy?: string; buildTimeout?: number; buildsAccessLevel?: AccessLevelSettingState; ciConfigPath?: string; containerExpirationPolicyAttributes?: Record; containerRegistryAccessLevel?: AccessLevelSettingState; defaultBranch?: string; description?: string; emailsDisabled?: boolean; externalAuthorizationClassificationLabel?: string; forkingAccessLevel?: AccessLevelSettingState; groupWithProjectTemplatesId?: number; importUrl?: string; initializeWithReadme?: boolean; issuesAccessLevel?: AccessLevelSettingState; lfsEnabled?: boolean; mergeMethod?: string; mergePipelinesEnabled?: boolean; mergeRequestsAccessLevel?: AccessLevelSettingState; mergeTrainsEnabled?: boolean; mirrorTriggerBuilds?: boolean; mirror?: boolean; namespaceId?: number; onlyAllowMergeIfAllDiscussionsAreResolved?: boolean; onlyAllowMergeIfPipelineSucceeds?: boolean; packagesEnabled?: boolean; pagesAccessLevel?: AccessLevelSettingState | 'public'; printingMergeRequestLinkEnabled?: boolean; publicBuilds?: boolean; releasesAccessLevel?: AccessLevelSettingState; environmentsAccessLevel?: AccessLevelSettingState; featureFlagsAccessLevel?: AccessLevelSettingState; infrastructureAccessLevel?: AccessLevelSettingState; monitorAccessLevel?: AccessLevelSettingState; removeSourceBranchAfterMerge?: boolean; repositoryAccessLevel?: AccessLevelSettingState; repositoryStorage?: string; requestAccessEnabled?: boolean; requirementsAccessLevel?: AccessLevelSettingState; resolveOutdatedDiffDiscussions?: boolean; securityAndComplianceAccessLevel?: AccessLevelSettingState; sharedRunnersEnabled?: boolean; groupRunnersEnabled?: boolean; snippetsAccessLevel?: AccessLevelSettingState; squashOption?: 'never' | 'always' | 'default_on' | 'default_off'; templateName?: string; templateProjectId?: number; topics?: string[]; useCustomTemplate?: boolean; visibility?: 'public' | 'internal' | 'private'; wikiAccessLevel?: AccessLevelSettingState; }; type EditProjectOptions = { avatar?: { content: Blob; filename: string; }; allowMergeOnSkippedPipeline?: boolean; allowPipelineTriggerApproveDeployment?: boolean; onlyAllowMergeIfAllStatusChecksPassed?: boolean; analyticsAccessLevel?: AccessLevelSettingState; approvalsBeforeMerge?: number; autoCancelPendingPipelines?: string; autoDevopsDeployStrategy?: 'continuous' | 'manual' | 'timed_incremental'; autoDevopsEnabled?: boolean; autocloseReferencedIssues?: boolean; buildGitStrategy?: string; buildTimeout?: number; buildsAccessLevel?: AccessLevelSettingState; ciConfigPath?: string; ciDefaultGitDepth?: number; ciForwardDeploymentEnabled?: boolean; ciAllowForkPipelinesToRunInParentProject?: boolean; ciSeparatedCaches?: boolean; containerExpirationPolicyAttributes?: Record; containerRegistryAccessLevel?: string; defaultBranch?: string; description?: string; emailsDisabled?: boolean; enforceAuthChecksOnUploads?: boolean; externalAuthorizationClassificationLabel?: string; forkingAccessLevel?: AccessLevelSettingState; importUrl?: string; issuesAccessLevel?: AccessLevelSettingState; issuesTemplate?: string; keepLatestArtifact?: boolean; lfsEnabled?: boolean; mergeCommitTemplate?: string; mergeMethod?: string; mergePipelinesEnabled?: boolean; mergeRequestsAccessLevel?: AccessLevelSettingState; mergeRequestsTemplate?: string; mergeTrainsEnabled?: boolean; mirrorOverwritesDivergedBranches?: boolean; mirrorTriggerBuilds?: boolean; mirrorUserId?: number; mirror?: boolean; mrDefaultTargetSelf?: boolean; name?: string; onlyAllowMergeIfAllDiscussionsAreResolved?: boolean; onlyAllowMergeIfPipelineSucceeds?: boolean; onlyMirrorProtectedBranches?: boolean; packagesEnabled?: boolean; pagesAccessLevel?: string; path?: string; printingMergeRequestLinkEnabled?: boolean; publicBuilds?: boolean; releasesAccessLevel?: AccessLevelSettingState; environmentsAccessLevel?: AccessLevelSettingState; featureFlagsAccessLevel?: AccessLevelSettingState; infrastructureAccessLevel?: AccessLevelSettingState; monitorAccessLevel?: AccessLevelSettingState; removeSourceBranchAfterMerge?: boolean; repositoryAccessLevel?: AccessLevelSettingState; repositoryStorage?: string; requestAccessEnabled?: boolean; requirementsAccessLevel?: AccessLevelSettingState; resolveOutdatedDiffDiscussions?: boolean; restrictUserDefinedVariables?: boolean; securityAndComplianceAccessLevel?: AccessLevelSettingState; serviceDeskEnabled?: boolean; sharedRunnersEnabled?: boolean; groupRunnersEnabled?: boolean; snippetsAccessLevel?: AccessLevelSettingState; issueBranchTemplate?: string; squashCommitTemplate?: string; squashOption?: 'never' | 'always' | 'default_on' | 'default_off'; suggestionCommitMessage?: string; topics?: string[]; visibility?: 'public' | 'internal' | 'private'; wikiAccessLevel?: AccessLevelSettingState; }; type ForkProjectOptions = { description?: string; mrDefaultTargetSelf?: boolean; name?: string; namespaceId?: number; namespacePath?: string; namespace?: number | string; path?: string; visibility?: 'public' | 'internal' | 'private'; }; type AllForksOptions = { archived?: boolean; membership?: boolean; minAccessLevel?: AccessLevelSettingState; orderBy?: 'id' | 'name' | 'path' | 'created_at' | 'updated_at' | 'last_activity_at'; owned?: boolean; search?: string; simple?: boolean; sort?: 'asc' | 'desc'; starred?: boolean; statistics?: boolean; visibility?: 'public' | 'internal' | 'private'; withCustomAttributes?: boolean; withIssuesEnabled?: boolean; withMergeRequestsEnabled?: boolean; updatedBefore?: string; updatedAfter?: string; }; declare class Projects extends BaseResource { all(options: PaginationRequestOptions

& AllProjectsOptions & Sudo & ShowExpanded & { withCustomAttributes: true; }): Promise>; all(options: PaginationRequestOptions

& AllProjectsOptions & Sudo & ShowExpanded & { simple: true; }): Promise>; all(options: PaginationRequestOptions

& AllProjectsOptions & Sudo & ShowExpanded & { statistics: true; }): Promise>; all(options: PaginationRequestOptions

& AllProjectsOptions & Sudo & ShowExpanded & { statistics: true; withCustomAttributes: true; }): Promise>; all(options?: PaginationRequestOptions

& AllProjectsOptions & Sudo & ShowExpanded): Promise>; allTransferLocations(projectId: string | number, options?: { search?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allUsers(projectId: string | number, options?: { search?: string; skipUsers?: number[]; } & Sudo & ShowExpanded): Promise[], C, E, void>>; allGroups(projectId: string | number, options?: { search?: string; skipGroups?: number[]; withShared?: boolean; sharedMinAccessLevel?: Exclude; sharedVisibleOnly?: boolean; } & Sudo & ShowExpanded): Promise>; allSharableGroups(projectId: string | number, options?: { search?: string; } & Sudo & ShowExpanded): Promise>; allForks(projectId: string | number, options: AllForksOptions & Sudo & ShowExpanded & { simple: true; }): Promise>; allForks(projectId: string | number, options: AllForksOptions & Sudo & ShowExpanded & { statistics: true; }): Promise>; allForks(projectId: string | number, options?: AllForksOptions & Sudo & ShowExpanded): Promise>; allStarrers(projectId: string | number, options?: { search?: string; } & Sudo & ShowExpanded): Promise>; allStoragePaths(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; archive(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; create({ userId, avatar, ...options }?: SomeOf<{ name: string; path: string; }> & CreateProjectOptions & Sudo & ShowExpanded): Promise>; createForkRelationship(projectId: string | number, forkedFromId: string | number, options?: Sudo & ShowExpanded): Promise>; createPullMirror(projectId: string | number, url: string, mirror: boolean, options?: { mirrorTriggerBuilds?: boolean; mirrorBranchRegex?: string; onlyProtectedBranches?: boolean; } & Sudo & ShowExpanded): Promise>; downloadSnapshot(projectId: string | number, options?: { wiki?: boolean; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, { avatar, ...options }?: EditProjectOptions & Sudo & ShowExpanded): Promise>; fork(projectId: string | number, options?: ForkProjectOptions & Sudo & ShowExpanded): Promise>; housekeeping(projectId: string | number, options?: { task?: string; } & Sudo & ShowExpanded): Promise>; importProjectMembers(projectId: string | number, sourceProjectId: string | number, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, options?: { permanentlyRemove?: boolean; fullPath?: string; } & Sudo & ShowExpanded): Promise>; removeForkRelationship(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; removeAvatar(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; restore(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; search(projectName: string, options?: { sort?: 'asc' | 'desc'; orderBy?: 'id' | 'name' | 'created_at' | 'last_activity_at'; } & Sudo & ShowExpanded): Promise>; share(projectId: string | number, groupId: string | number, groupAccess: number, options?: { expiresAt?: string; } & Sudo & ShowExpanded): Promise>; show(projectId: string | number, options: { license: true; } & Sudo & ShowExpanded): Promise>; show(projectId: string | number, options: { withCustomAttributes: true; } & Sudo & ShowExpanded): Promise>; show(projectId: string | number, options: { statistics: true; } & Sudo & ShowExpanded): Promise>; show(projectId: string | number, options: { withCustomAttributes: true; license: true; } & Sudo & ShowExpanded): Promise>; show(projectId: string | number, options: { withCustomAttributes: true; statistics: true; } & Sudo & ShowExpanded): Promise>; show(projectId: string | number, options: { license: true; statistics: true; } & Sudo & ShowExpanded): Promise>; show(projectId: string | number, options: { withCustomAttributes: true; license: true; statistics: true; } & Sudo & ShowExpanded): Promise>; show(projectId: string | number, options?: { license?: boolean; statistics?: boolean; withCustomAttributes?: boolean; } & Sudo & ShowExpanded): Promise>; showLanguages(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; showPullMirror(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; star(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; transfer(projectId: string | number, namespaceId: string | number, options?: Sudo & ShowExpanded): Promise, E, undefined>>; unarchive(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; unshare(projectId: string | number, groupId: string | number, options?: Sudo & ShowExpanded): Promise>; unstar(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; uploadForReference(projectId: string | number, file: { content: Blob; filename: string; }, options?: Sudo & ShowExpanded): Promise>; uploadAvatar(projectId: string | number, avatar: { content: Blob; filename: string; }, options?: Sudo & ShowExpanded): Promise>; } interface ClusterAgentSchema extends Record { id: number; name: string; config_project: SimpleProjectSchema; created_at: string; created_by_user_id: number; } interface ClusterAgentTokenSchema extends Record { id: number; name: string; description: string; agent_id: number; status: string; token?: string; created_at: string; created_by_user_id: number; } declare class Agents extends BaseResource { all(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; allTokens(projectId: string | number, agentId: number, options?: Sudo & ShowExpanded): Promise>; createToken(projectId: string | number, agentId: number, name: string, options?: { description?: string; } & Sudo & ShowExpanded): Promise>; show(projectId: string | number, agentId: number, options?: Sudo & ShowExpanded): Promise>; showToken(projectId: string | number, agentId: number, tokenId: number, options?: Sudo & ShowExpanded): Promise>; register(projectId: string | number, name: string, options?: Sudo & ShowExpanded): Promise>; removeToken(projectId: string | number, agentId: number, tokenId: number, options?: Sudo & ShowExpanded): Promise>; unregister(projectId: string | number, agentId: number, options?: Sudo & ShowExpanded): Promise>; } interface MetricImageSchema extends Record { id: number; created_at: string; filename: string; file_path: string; url: string; url_text: string; } declare class AlertManagement extends BaseResource { allMetricImages(projectId: string | number, alertIId: number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; editMetricImage(projectId: string | number, alertIId: number, imageId: number, options?: { url?: string; urlText?: string; } & Sudo & ShowExpanded): Promise>; removeMetricImage(projectId: string | number, alertIId: number, imageId: number, options?: Sudo & ShowExpanded): Promise>; uploadMetricImage(projectId: string | number, alertIId: number, metricImage: { content: Blob; filename: string; }, options?: { url?: string; urlText?: string; } & Sudo & ShowExpanded): Promise>; } interface ApplicationAppearanceSchema extends Record { title: string; description: string; pwa_name: string; pwa_short_name: string; pwa_description: string; pwa_icon: string; logo: string; header_logo: string; favicon: string; new_project_guidelines: string; profile_image_guidelines: string; header_message: string; footer_message: string; message_background_color: string; message_font_color: string; email_header_and_footer_enabled: boolean; } declare class ApplicationAppearance extends BaseResource { show(options?: Sudo & ShowExpanded): Promise>; edit({ logo, pwaIcon, ...options }?: { logo?: { content: Blob; filename: string; }; pwaIcon?: { content: Blob; filename: string; }; } & BaseRequestOptions): Promise>; } interface ApplicationPlanLimitSchema extends Record { ci_pipeline_size: number; ci_active_jobs: number; ci_active_pipelines: number; ci_project_subscriptions: number; ci_pipeline_schedules: number; ci_needs_size_limit: number; ci_registered_group_runners: number; ci_registered_project_runners: number; conan_max_file_size: number; generic_packages_max_file_size: number; helm_max_file_size: number; maven_max_file_size: number; npm_max_file_size: number; nuget_max_file_size: number; pypi_max_file_size: number; terraform_module_max_file_size: number; storage_size_limit: number; } type ApplicationPlanLimitOptions = Partial>; declare class ApplicationPlanLimits extends BaseResource { show(options?: { planName?: string; } & Sudo & ShowExpanded): Promise>; edit(planName: string, options?: ApplicationPlanLimitOptions & Sudo & ShowExpanded): Promise>; } interface ApplicationSettingsSchema extends Record { admin_mode?: boolean; admin_notification_email?: string; abuse_notification_email?: string; after_sign_out_path?: string; after_sign_up_text?: string; akismet_api_key?: string; akismet_enabled?: boolean; allow_group_owners_to_manage_ldap?: boolean; allow_local_requests_from_hooks_and_services?: boolean; allow_local_requests_from_system_hooks?: boolean; allow_local_requests_from_web_hooks_and_services?: boolean; allow_runner_registration_token?: boolean; archive_builds_in_human_readable?: string; asset_proxy_enabled?: boolean; asset_proxy_secret_key?: string; asset_proxy_url?: string; asset_proxy_whitelist?: string | string[]; asset_proxy_allowlist?: string | string[]; authorized_keys_enabled?: boolean; auto_devops_domain?: string; auto_devops_enabled?: boolean; automatic_purchased_storage_allocation?: boolean; bulk_import_enabled?: boolean; can_create_group?: boolean; check_namespace_plan?: boolean; commit_email_hostname?: string; container_expiration_policies_enable_historic_entries?: boolean; container_registry_cleanup_tags_service_max_list_size?: number; container_registry_delete_tags_service_timeout?: number; container_registry_expiration_policies_caching?: boolean; container_registry_expiration_policies_worker_capacity?: number; container_registry_token_expire_delay?: number; package_registry_cleanup_policies_worker_capacity?: number; deactivate_dormant_users?: boolean; deactivate_dormant_users_period?: number; default_artifacts_expire_in?: string; default_branch_name?: string; default_branch_protection?: number; default_ci_config_path?: string; default_group_visibility?: string; default_preferred_language?: string; default_project_creation?: number; default_project_visibility?: string; default_projects_limit?: number; default_snippet_visibility?: string; default_syntax_highlighting_theme?: number; delayed_project_deletion?: boolean; delayed_group_deletion?: boolean; deletion_adjourned_period?: number; diff_max_patch_bytes?: number; diff_max_files?: number; diff_max_lines?: number; disable_admin_oauth_scopes?: boolean; disable_feed_token?: boolean; disable_personal_access_token?: boolean; disabled_oauth_sign_in_sources?: string[]; dns_rebinding_protection_enabled?: boolean; domain_denylist_enabled?: boolean; domain_denylist?: string[]; domain_allowlist?: string[]; dsa_key_restriction?: number; ecdsa_key_restriction?: number; ecdsa_sk_key_restriction?: number; ed25519_key_restriction?: number; ed25519_sk_key_restriction?: number; eks_access_key_id?: string; eks_account_id?: string; eks_integration_enabled?: boolean; eks_secret_access_key?: string; elasticsearch_aws_access_key?: string; elasticsearch_aws_region?: string; elasticsearch_aws_secret_access_key?: string; elasticsearch_aws?: boolean; elasticsearch_indexed_field_length_limit?: number; elasticsearch_indexed_file_size_limit_kb?: number; elasticsearch_indexing?: boolean; elasticsearch_limit_indexing?: boolean; elasticsearch_max_bulk_concurrency?: number; elasticsearch_max_bulk_size_mb?: number; elasticsearch_namespace_ids?: number[]; elasticsearch_project_ids?: number[]; elasticsearch_search?: boolean; elasticsearch_url?: string; elasticsearch_username?: string; elasticsearch_password?: string; email_additional_text?: string; email_author_in_body?: boolean; email_confirmation_setting?: string; enabled_git_access_protocol?: string; enforce_namespace_storage_limit?: boolean; enforce_terms?: boolean; external_auth_client_cert?: string; external_auth_client_key_pass?: string; external_auth_client_key?: string; external_authorization_service_default_label?: string; external_authorization_service_enabled?: boolean; external_authorization_service_timeout?: number; external_authorization_service_url?: string; external_pipeline_validation_service_url?: string; external_pipeline_validation_service_token?: string; external_pipeline_validation_service_timeout?: number; file_template_project_id?: number; first_day_of_week?: number; geo_node_allowed_ips?: string; geo_status_timeout?: number; git_two_factor_session_expiry?: number; gitaly_timeout_default?: number; gitaly_timeout_fast?: number; gitaly_timeout_medium?: number; gitlab_dedicated_instance?: boolean; grafana_enabled?: boolean; grafana_url?: string; gravatar_enabled?: boolean; group_owners_can_manage_default_branch_protection?: boolean; hashed_storage_enabled?: boolean; help_page_hide_commercial_content?: boolean; help_page_support_url?: string; help_page_text?: string; help_text?: string; hide_third_party_offers?: boolean; home_page_url?: string; housekeeping_enabled?: boolean; housekeeping_optimize_repository_period?: number; html_emails_enabled?: boolean; import_sources?: string[]; in_product_marketing_emails_enabled?: boolean; invisible_captcha_enabled?: boolean; issues_create_limit?: number; keep_latest_artifact?: boolean; local_markdown_version?: number; mailgun_signing_key?: string; mailgun_events_enabled?: boolean; maintenance_mode_message?: string; maintenance_mode?: boolean; max_artifacts_size?: number; max_attachment_size?: number; max_export_size?: number; max_import_size?: number; max_pages_size?: number; max_personal_access_token_lifetime?: number; max_ssh_key_lifetime?: number; max_terraform_state_size_bytes?: number; metrics_method_call_threshold?: number; max_number_of_repository_downloads?: number; max_number_of_repository_downloads_within_time_period?: number; git_rate_limit_users_allowlist?: string[]; git_rate_limit_users_alertlist?: number[]; auto_ban_user_on_excessive_projects_download?: boolean; mirror_available?: boolean; mirror_capacity_threshold?: number; mirror_max_capacity?: number; mirror_max_delay?: number; maven_package_requests_forwarding?: boolean; npm_package_requests_forwarding?: boolean; pypi_package_requests_forwarding?: boolean; outbound_local_requests_whitelist?: string[]; pages_domain_verification_enabled?: boolean; password_authentication_enabled_for_git?: boolean; password_authentication_enabled_for_web?: boolean; password_number_required?: boolean; password_symbol_required?: boolean; password_uppercase_required?: boolean; password_lowercase_required?: boolean; performance_bar_allowed_group_path?: string; personal_access_token_prefix?: string; pipeline_limit_per_project_user_sha?: number; plantuml_enabled?: boolean; plantuml_url?: string; polling_interval_multiplier?: number; project_export_enabled?: boolean; projects_api_rate_limit_unauthenticated?: number; prometheus_metrics_enabled?: boolean; protected_ci_variables?: boolean; push_event_activities_limit?: number; push_event_hooks_limit?: number; rate_limiting_response_text?: string; raw_blob_request_limit?: number; search_rate_limit?: number; search_rate_limit_unauthenticated?: number; recaptcha_enabled?: boolean; recaptcha_private_key?: string; recaptcha_site_key?: string; receive_max_input_size?: number; repository_checks_enabled?: boolean; repository_size_limit?: number; repository_storages_weighted?: Record; repository_storages?: string[]; require_admin_approval_after_user_signup?: boolean; require_two_factor_authentication?: boolean; restricted_visibility_levels?: string[]; rsa_key_restriction?: number; session_expire_delay?: number; shared_runners_enabled?: boolean; shared_runners_minutes?: number; shared_runners_text?: string; sidekiq_job_limiter_mode?: string; sidekiq_job_limiter_compression_threshold_bytes?: number; sidekiq_job_limiter_limit_bytes?: number; sign_in_text?: string; signup_enabled?: boolean; slack_app_enabled?: boolean; slack_app_id?: string; slack_app_secret?: string; slack_app_signing_secret?: string; slack_app_verification_token?: string; snippet_size_limit?: number; snowplow_app_id?: string; snowplow_collector_hostname?: string; snowplow_cookie_domain?: string; snowplow_enabled?: boolean; sourcegraph_enabled?: boolean; sourcegraph_public_only?: boolean; sourcegraph_url?: string; spam_check_endpoint_enabled?: boolean; spam_check_endpoint_url?: string; spam_check_api_key?: string; suggest_pipeline_enabled?: boolean; terminal_max_session_time?: number; terms?: string; throttle_authenticated_api_enabled?: boolean; throttle_authenticated_api_period_in_seconds?: number; throttle_authenticated_api_requests_per_period?: number; throttle_authenticated_packages_api_enabled?: boolean; throttle_authenticated_packages_api_period_in_seconds?: number; throttle_authenticated_packages_api_requests_per_period?: number; throttle_authenticated_web_enabled?: boolean; throttle_authenticated_web_period_in_seconds?: number; throttle_authenticated_web_requests_per_period?: number; throttle_unauthenticated_api_enabled?: boolean; throttle_unauthenticated_api_period_in_seconds?: number; throttle_unauthenticated_api_requests_per_period?: number; throttle_unauthenticated_packages_api_enabled?: boolean; throttle_unauthenticated_packages_api_period_in_seconds?: number; throttle_unauthenticated_packages_api_requests_per_period?: number; throttle_unauthenticated_web_enabled?: boolean; throttle_unauthenticated_web_period_in_seconds?: number; throttle_unauthenticated_web_requests_per_period?: number; time_tracking_limit_to_hours?: boolean; two_factor_grace_period?: number; unique_ips_limit_enabled?: boolean; unique_ips_limit_per_user?: number; unique_ips_limit_time_window?: number; usage_ping_enabled?: boolean; user_deactivation_emails_enabled?: boolean; user_default_external?: boolean; user_default_internal_regex?: string; user_defaults_to_private_profile?: boolean; user_oauth_applications?: boolean; user_show_add_ssh_key_message?: boolean; version_check_enabled?: boolean; whats_new_variant?: string; wiki_page_max_content_bytes?: number; jira_connect_application_key?: string; jira_connect_proxy_url?: string; } declare class ApplicationSettings extends BaseResource { show(options?: Sudo & ShowExpanded): Promise>; edit(options?: BaseRequestOptions): Promise>; } interface ApplicationStatisticSchema extends Record { forks: string; issues: string; merge_requests: string; notes: string; snippets: string; ssh_keys: string; milestones: string; users: string; groups: string; projects: string; active_users: string; } declare class ApplicationStatistics extends BaseResource { show(options?: Sudo & ShowExpanded): Promise>; } interface ApplicationSchema extends Record { id: number; application_id: string; application_name: string; secret: string; callback_url: string; confidential: boolean; } declare class Applications extends BaseResource { all(options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(name: string, redirectUri: string, scopes: string, options?: { confidential?: boolean; } & Sudo & ShowExpanded): Promise>; remove(applicationId: number, options?: Sudo & ShowExpanded): Promise>; } interface AuditEventSchema extends Record { id: number; author_id: number; entity_id: number; entity_type: string; details: { change?: string; from?: string; to?: string; custom_message?: string; author_name: string; author_email: string; target_id: string; target_type: string; target_details: string; ip_address: string; entity_path: string; }; created_at: string; } interface AllAuditEventOptions { createdAfter?: string; createdBefore?: string; entityType?: string; entityId?: number; } declare class AuditEvents extends BaseResource { all({ projectId, groupId, ...options }?: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & AllAuditEventOptions & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; show(auditEventId: number, { projectId, groupId, ...options }?: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & Sudo & ShowExpanded): Promise>; } interface AvatarSchema extends Record { avatar_url: string; } declare class Avatar extends BaseResource { show(email: string, options?: Sudo & ShowExpanded): Promise>; } interface BroadcastMessageSchema extends Record { message: string; starts_at: string; ends_at: string; color: string; font: string; id: number; active: boolean; target_path: string; target_access_levels: Exclude[]; broadcast_type: string; dismissable: boolean; } interface BroadcastMessageOptions extends Record { message?: string; startsAt?: string; endsAt?: string; color?: string; font?: string; active?: boolean; targetPath?: string; targetAccessLevels?: Exclude[]; broadcastType?: string; dismissable?: boolean; } declare class BroadcastMessages extends BaseResource { all(options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(options?: BroadcastMessageOptions & Sudo & ShowExpanded): Promise>; edit(broadcastMessageId: number, options?: BroadcastMessageOptions & Sudo & ShowExpanded): Promise>; remove(broadcastMessageId: number, options?: Sudo & ShowExpanded): Promise>; show(broadcastMessageId: number, options?: Sudo & ShowExpanded): Promise>; } interface CodeSuggestionSchema extends Record { access_token: string; expires_in: number; created_at: number; } interface CodeCompletionSchema extends Record { id: string; model: { engine: string; name: string; }; object: string; created: number; choices: Array<{ text: string; index: number; finish_reason: string; }>; } declare class CodeSuggestions extends BaseResource { createAccessToken(options?: Sudo & ShowExpanded): Promise>; generateCompletion(options?: BaseRequestOptions): Promise>; } interface ComposerV1BaseRepositorySchema extends Record { packages?: string[]; 'metadata-url': string; 'provider-includes': Record>; 'providers-url': string; } interface ComposerV2BaseRepositorySchema extends Record { packages?: string[]; 'metadata-url': string; } interface ComposerV1PackagesSchema extends Record { providers: { [name: string]: { sha256: string; }; }; } interface PackageMetadata { name: string; type: string; license: string; version: string; dist: { type: string; url: string; reference: string; shasum: string; }; source: { type: string; url: string; reference: string; }; uid: number; } interface ComposerPackageMetadataSchema extends Record { packages: { [name: string]: { [version: string]: PackageMetadata; }; }; } declare class Composer extends BaseResource { create(projectId: string | number, options?: { tag?: string; branch?: string; } & ShowExpanded): Promise>; download(projectId: string | number, packageName: string, sha: string, options?: ShowExpanded): Promise>; showMetadata(groupId: string | number, packageName: string, options?: { sha?: string; } & ShowExpanded): Promise>; showPackages(groupId: string | number, sha: string, options?: ShowExpanded): Promise>; showBaseRepository(groupId: string | number, options?: { composerVersion: '1'; } & ShowExpanded): Promise>; showBaseRepository(groupId: string | number, options?: { composerVersion: '2'; } & ShowExpanded): Promise>; } interface PackageSnapshotSchema extends Record { 'conan_package.tgz': string; 'conanfile.py': string; 'conanmanifest.txt': string; } interface RecipeSnapshotSchema extends Record { 'conan_sources.tgz': string; 'conanfile.py': string; 'conanmanifest.txt': string; } declare class Conan extends BaseResource { authenticate({ projectId, ...options }?: { projectId?: string | number; } & ShowExpanded): Promise>; checkCredentials({ projectId, ...options }?: { projectId?: string | number; } & ShowExpanded): Promise>; downloadPackageFile(packageName: string, packageVersion: string, packageUsername: string, packageChannel: string, conanPackageReference: string, recipeRevision: string, packageRevision: string, filename: string, { projectId, ...options }?: { projectId?: string | number; } & ShowExpanded): Promise>; downloadRecipeFile(packageName: string, packageVersion: string, packageUsername: string, packageChannel: string, recipeRevision: string, filename: string, { projectId, ...options }?: { projectId?: string | number; } & ShowExpanded): Promise>; showPackageUploadUrls(packageName: string, packageVersion: string, packageUsername: string, packageChannel: string, conanPackageReference: string, { projectId, ...options }?: { projectId?: string | number; } & ShowExpanded): Promise>; showPackageDownloadUrls(packageName: string, packageVersion: string, packageUsername: string, packageChannel: string, conanPackageReference: string, { projectId, ...options }?: { projectId?: string | number; } & ShowExpanded): Promise>; showPackageManifest(packageName: string, packageVersion: string, packageUsername: string, packageChannel: string, conanPackageReference: string, { projectId, ...options }?: { projectId?: string | number; } & ShowExpanded): Promise>; showPackageSnapshot(packageName: string, packageVersion: string, packageUsername: string, packageChannel: string, conanPackageReference: string, { projectId, ...options }?: { projectId?: string | number; } & ShowExpanded): Promise>; ping({ projectId, ...options }?: { projectId?: string | number; } & ShowExpanded): Promise>; showRecipeUploadUrls(packageName: string, packageVersion: string, packageUsername: string, packageChannel: string, { projectId, ...options }?: { projectId?: string | number; } & ShowExpanded): Promise>; showRecipeDownloadUrls(packageName: string, packageVersion: string, packageUsername: string, packageChannel: string, { projectId, ...options }?: { projectId?: string | number; } & ShowExpanded): Promise>; showRecipeManifest(packageName: string, packageVersion: string, packageUsername: string, packageChannel: string, { projectId, ...options }?: { projectId?: string | number; } & ShowExpanded): Promise>; showRecipeSnapshot(packageName: string, packageVersion: string, packageUsername: string, packageChannel: string, { projectId, ...options }?: { projectId?: string | number; } & ShowExpanded): Promise>; removePackageFile(packageName: string, packageVersion: string, packageUsername: string, packageChannel: string, { projectId, ...options }?: { projectId?: string | number; } & ShowExpanded): Promise>; search({ projectId, ...options }?: { projectId?: string | number; } & ShowExpanded): Promise>; uploadPackageFile(packageFile: { content: Blob; filename: string; }, packageName: string, packageVersion: string, packageUsername: string, packageChannel: string, conanPackageReference: string, recipeRevision: string, packageRevision: string, options?: ShowExpanded): Promise>; uploadRecipeFile(packageFile: { content: Blob; filename: string; }, packageName: string, packageVersion: string, packageUsername: string, packageChannel: string, recipeRevision: string, options?: ShowExpanded): Promise>; } interface DashboardAnnotationSchema extends Record { id: number; starting_at: string; ending_at?: null; dashboard_path: string; description: string; environment_id: number; cluster_id?: null; } declare class DashboardAnnotations extends BaseResource { create(dashboardPath: string, startingAt: string, description: string, { environmentId, clusterId, ...options }?: OneOf<{ environmentId: number; clusterId: number; }> & { endingAt?: string; } & Sudo & ShowExpanded): Promise>; } declare class Debian extends BaseResource { downloadBinaryFileIndex(distribution: string, component: string, architecture: string, { projectId, groupId, ...options }: OneOf<{ projectId: string | number; groupId: string | number; }> & ShowExpanded): Promise>; downloadDistributionReleaseFile(distribution: string, { projectId, groupId, ...options }: OneOf<{ projectId: string | number; groupId: string | number; }> & ShowExpanded): Promise>; downloadSignedDistributionReleaseFile(distribution: string, { projectId, groupId, ...options }: OneOf<{ projectId: string | number; groupId: string | number; }> & ShowExpanded): Promise>; downloadReleaseFileSignature(distribution: string, { projectId, groupId, ...options }: OneOf<{ projectId: string | number; groupId: string | number; }> & ShowExpanded): Promise>; downloadPackageFile(projectId: string | number, distribution: string, letter: string, packageName: string, packageVersion: string, filename: string, options?: ShowExpanded): Promise>; uploadPackageFile(projectId: string | number, packageFile: { content: Blob; filename: string; }, options?: ShowExpanded): Promise>; } declare class DependencyProxy extends BaseResource { remove(groupId: string | number, options?: Sudo & ShowExpanded): Promise>; } interface CondensedDeployKeySchema extends Record { id: number; title: string; key: string; created_at: string; } interface DeployKeySchema extends CondensedDeployKeySchema { fingerprint: string; fingerprint_sha256: string; expires_at?: string; can_push?: boolean; } interface ExpandedDeployKeySchema extends DeployKeySchema { projects_with_write_access?: SimpleProjectSchema[]; } declare class DeployKeys extends BaseResource { all({ projectId, userId, ...options }?: OneOrNoneOf<{ projectId: string | number; userId: string | number; }> & { public?: boolean; } & PaginationRequestOptions

& BaseRequestOptions): Promise>; create(projectId: string | number, title: string, key: string, options?: { canPush?: boolean; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, keyId: number, options?: { canPush?: boolean; title?: string; } & Sudo & ShowExpanded): Promise>; enable(projectId: string | number, keyId: number, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, keyId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, keyId: number, options?: Sudo & ShowExpanded): Promise>; } type DeployTokenScope = 'read_repository' | 'read_registry' | 'write_registry' | 'read_package_registry' | 'write_package_registry'; interface DeployTokenSchema extends Record { id: number; name: string; username: string; expires_at: string; revoked: boolean; expired: boolean; scopes?: DeployTokenScope[]; } declare class DeployTokens extends BaseResource { all({ projectId, groupId, ...options }?: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & { active?: boolean; } & PaginationRequestOptions

& BaseRequestOptions): Promise>; create(name: string, scopes: string[], { projectId, groupId, ...options }?: OneOf<{ projectId: string | number; groupId: string | number; }> & Sudo & ShowExpanded): Promise>; remove(tokenId: number, { projectId, groupId, ...options }?: OneOf<{ projectId: string | number; groupId: string | number; }> & Sudo & ShowExpanded): Promise>; show(tokenId: number, { projectId, groupId, ...options }?: OneOf<{ projectId: string | number; groupId: string | number; }> & Sudo & ShowExpanded): Promise>; } interface AccessRequestSchema extends Record { id: number; username: string; name: string; state: string; created_at: string; requested_at: string; } declare class ResourceAccessRequests extends BaseResource { constructor(resourceType: string, options: BaseResourceOptions); all(resourceId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; request(resourceId: string | number, options?: Sudo & ShowExpanded): Promise>; approve(resourceId: string | number, userId: number, options?: { accessLevel?: Exclude; } & Sudo & ShowExpanded): Promise>; deny(resourceId: string | number, userId: number, options?: Sudo & ShowExpanded): Promise>; } type AccessTokenScopes = 'api' | 'read_api' | 'create_runner' | 'read_registry' | 'write_registry' | 'read_repository' | 'write_repository'; interface AccessTokenSchema extends Record { user_id: number; scopes?: AccessTokenScopes[]; name: string; expires_at: string; id: number; active: boolean; created_at: string; revoked: boolean; access_level: Exclude; token?: string; } declare class ResourceAccessTokens extends BaseResource { constructor(resourceType: string, options: BaseResourceOptions); all(resourceId: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(resourceId: string | number, name: string, scopes: AccessTokenScopes[], options?: { accessLevel?: Exclude; expiresAt?: string; } & Sudo & ShowExpanded): Promise>; revoke(resourceId: string | number, tokenId: string | number, options?: Sudo & ShowExpanded): Promise>; show(resourceId: string | number, tokenId: string | number, options?: Sudo & ShowExpanded): Promise>; } interface AwardEmojiSchema extends Record { id: number; name: string; user: UserSchema; created_at: string; updated_at: string; awardable_id: number; awardable_type: string; } declare class ResourceAwardEmojis extends BaseResource { protected resourceType2: string; constructor(resourceType1: string, resourceType2: string, options: BaseResourceOptions); all(resourceId: string | number, resourceIId: number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; award(resourceId: string | number, resourceIId: number, name: string, options?: Sudo & ShowExpanded): Promise>; remove(resourceId: string | number, resourceIId: number, awardId: number, options?: Sudo & ShowExpanded): Promise>; show(resourceId: string | number, resourceIId: number, awardId: number, options?: Sudo & ShowExpanded): Promise>; } declare class ResourceNoteAwardEmojis extends BaseResource { protected resourceType: string; constructor(resourceType: string, options: BaseResourceOptions); all(projectId: string | number, resourceIId: number, noteId: number, options?: PaginationRequestOptions

& BaseRequestOptions): Promise>; award(projectId: string | number, resourceIId: number, noteId: number, name: string, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, resourceIId: number, noteId: number, awardId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, resourceIId: number, noteId: number, awardId: number, options?: Sudo & ShowExpanded): Promise>; } interface CondensedBadgeSchema extends Record { link_url: string; image_url: string; rendered_link_url: string; rendered_image_url: string; } interface BadgeSchema extends CondensedBadgeSchema { name: string; id: number; kind: 'project' | 'group'; } interface EditBadgeOptions { name?: string; linkUrl?: string; imageUrl?: string; } declare class ResourceBadges extends BaseResource { constructor(resourceType: string, options: BaseResourceOptions); add(resourceId: string | number, linkUrl: string, imageUrl: string, options?: { name?: string; } & Sudo & ShowExpanded): Promise>; all(resourceId: string | number, options?: { name?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; edit(resourceId: string | number, badgeId: number, options?: EditBadgeOptions & Sudo & ShowExpanded): Promise>; preview(resourceId: string | number, linkUrl: string, imageUrl: string, options?: Sudo & ShowExpanded): Promise>; remove(resourceId: string | number, badgeId: number, options?: Sudo & ShowExpanded): Promise>; show(resourceId: string | number, badgeId: number, options?: Sudo & ShowExpanded): Promise>; } type MetricType = 'deployment_frequency' | 'lead_time_for_changes' | 'time_to_restore_service' | 'change_failure_rate'; interface DORA4MetricSchema extends Record { date: string; value: number; } declare class ResourceDORA4Metrics extends BaseResource { constructor(resourceType: string, options: BaseResourceOptions); all(resourceId: string | number, metric: MetricType, options?: { startDate?: string; endDate?: string; interval?: 'all' | 'monthly' | 'daily'; environmentTiers?: string[]; } & BaseRequestOptions): Promise>; } interface DiscussionNotePositionBaseSchema extends Record { base_sha: string; start_sha: string; head_sha: string; position_type: 'text' | 'image'; old_path?: string; new_path?: string; } type DiscussionNotePositionTextSchema = DiscussionNotePositionBaseSchema & { position_type: 'text'; new_line?: string; old_line?: string; }; type DiscussionNotePositionImageSchema = DiscussionNotePositionBaseSchema & { position_type: 'image'; width?: string; height?: string; x?: number; y?: number; }; type DiscussionNotePositionSchema = DiscussionNotePositionTextSchema | DiscussionNotePositionImageSchema; interface DiscussionNoteSchema extends Record { id: number; type: 'DiffNote' | 'DiscussionNote' | null; body: string; attachment: string | null; author: MappedOmit; created_at: string; updated_at: string; system: boolean; noteable_id: number; noteable_type: 'Issue' | 'Snippet' | 'Epic' | 'Commit' | 'MergeRequest'; noteable_iid: number | null; resolvable: boolean; } interface DiscussionSchema extends Record { id: string; individual_note: boolean; notes?: DiscussionNoteSchema[]; } type DiscussionNotePositionOptions = Camelize; declare class ResourceDiscussions extends BaseResource { protected resource2Type: string; constructor(resourceType: string, resource2Type: string, options: BaseResourceOptions); addNote(resourceId: string | number, resource2Id: string | number, discussionId: string | number, noteId: number, body: string, options?: { createdAt?: string; } & Sudo & ShowExpanded): Promise>; all(resourceId: string | number, resource2Id: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(resourceId: string | number, resource2Id: string | number, body: string, { position, ...options }?: { position?: DiscussionNotePositionOptions; commitId?: string; createdAt?: string; } & Sudo & ShowExpanded): Promise>; editNote(resourceId: string | number, resource2Id: string | number, discussionId: string | number, noteId: number, options: Sudo & ShowExpanded & { body?: string; resolved?: boolean; }): Promise>; removeNote(resourceId: string | number, resource2Id: string | number, discussionId: string | number, noteId: number, options?: Sudo & ShowExpanded): Promise>; show(resourceId: string | number, resource2Id: string | number, discussionId: string | number, options?: Sudo & ShowExpanded): Promise>; } interface PipelineVariableSchema extends Record { key: string; variable_type?: string; value: string; } declare class PipelineScheduleVariables extends BaseResource { all(projectId: string | number, pipelineScheduleId: number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(projectId: string | number, pipelineScheduleId: number, key: string, value: string, options?: { variableType?: 'env_var' | 'file'; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, pipelineScheduleId: number, key: string, value: string, options?: { variableType?: 'env_var' | 'file'; } & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, pipelineScheduleId: number, key: string, options?: Sudo & ShowExpanded): Promise>; } type CommitablePipelineStatus = 'pending' | 'running' | 'success' | 'failed' | 'canceled'; type PipelineStatus = CommitablePipelineStatus | 'created' | 'waiting_for_resource' | 'preparing' | 'skipped' | 'manual' | 'scheduled'; interface PipelineSchema extends Record { id: number; iid: number; project_id: number; sha: string; ref: string; status: string; source: string; created_at: string; updated_at: string; web_url: string; } interface ExpandedPipelineSchema extends PipelineSchema { before_sha: string; tag: boolean; yaml_errors?: unknown; user: MappedOmit; started_at: string; finished_at: string; committed_at?: string; duration: number; queued_duration?: unknown; coverage?: unknown; detailed_status: { icon: string; text: string; label: string; group: string; tooltip: string; has_details: boolean; details_path: string; illustration?: null; favicon: string; }; } interface PipelineTestCaseSchema { status: string; name: string; classname: string; execution_time: number; system_output?: string; stack_trace?: string; } interface PipelineTestSuiteSchema { name: string; total_time: number; total_count: number; success_count: number; failed_count: number; skipped_count: number; error_count: number; test_cases?: PipelineTestCaseSchema[]; } interface PipelineTestReportSchema extends Record { total_time: number; total_count: number; success_count: number; failed_count: number; skipped_count: number; error_count: number; test_suites?: PipelineTestSuiteSchema[]; } interface PipelineTestReportSummarySchema extends Record { total: { time: number; count: number; success: number; failed: number; skipped: number; error: number; suite_error?: null; }; test_suites?: PipelineTestSuiteSchema[]; } type AllPipelinesOptions = { scope?: 'running' | 'pending' | 'finished' | 'branches' | 'tags'; status?: PipelineStatus; source?: string; ref?: string; sha?: string; yamlErrors?: boolean; username?: string; updatedAfter?: string; updatedBefore?: string; name?: string; orderBy?: 'id' | 'status' | 'updated_at' | 'user_id'; sort?: 'asc' | 'desc'; }; declare class Pipelines extends BaseResource { all(projectId: string | number, options?: AllPipelinesOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allVariables(projectId: string | number, pipelineId: number, options?: Sudo & ShowExpanded): Promise>; cancel(projectId: string | number, pipelineId: number, options?: Sudo & ShowExpanded): Promise>; create(projectId: string | number, ref: string, options?: { variables?: PipelineVariableSchema[]; } & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, pipelineId: number, options?: Sudo & ShowExpanded): Promise>; retry(projectId: string | number, pipelineId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, pipelineId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, pipelineId: 'latest', options?: { ref?: string; } & Sudo & ShowExpanded): Promise>; showTestReport(projectId: string | number, pipelineId: number, options?: Sudo & ShowExpanded): Promise>; showTestReportSummary(projectId: string | number, pipelineId: number, options?: Sudo & ShowExpanded): Promise>; } interface CommitAction { /** The action to perform */ action: 'create' | 'delete' | 'move' | 'update' | 'chmod'; /** Full path to the file. Ex. lib/class.rb */ filePath: string; /** Original full path to the file being moved.Ex.lib / class1.rb */ previousPath?: string; /** File content, required for all except delete. Optional for move */ content?: string; /** text or base64. text is default. */ encoding?: string; /** Last known file commit id. Will be only considered in update, move and delete actions. */ lastCommitId?: string; /** When true/false enables/disables the execute flag on the file. Only considered for chmod action. */ execute_filemode?: boolean; } interface CommitStatsSchema extends Record { additions: number; deletions: number; total: number; } interface CondensedCommitSchema extends Record { id: string; short_id: string; message: string; title: string; author_email: string; author_name: string; created_at: string; } interface CommitSchema extends CondensedCommitSchema { parent_ids?: string[]; message: string; authored_date?: string; committer_name?: string; committer_email?: string; committed_date?: string; web_url: string; } interface ExpandedCommitSchema extends CommitSchema { last_pipeline: { id: number; ref: string; sha: string; status: string; }; stats: CommitStatsSchema; status: string; } interface GPGSignatureSchema extends Record { signature_type: 'PGP'; verification_status: 'verified' | 'unverified'; gpg_key_id: number; gpg_key_primary_keyid: string; gpg_key_user_name: string; gpg_key_user_email: string; gpg_key_subkey_id?: number; commit_source: string; } interface X509SignatureSchema extends Record { signature_type: 'X509'; verification_status: 'verified' | 'unverified'; x509_certificate: { id: number; subject: string; subject_key_identifier: string; email: string; serial_number: string; certificate_status: string; x509_issuer: { id: number; subject: string; subject_key_identifier: string; crl_url: string; }; }; commit_source: string; } interface MissingSignatureSchema extends Record { message: string; } type CommitSignatureSchema = GPGSignatureSchema | X509SignatureSchema | MissingSignatureSchema; interface CondensedCommitCommentSchema extends Record { note: string; author: MappedOmit; } interface CommitCommentSchema extends CondensedCommitCommentSchema { line_type: 'new' | 'old'; path: string; line: number; } interface CommitDiffSchema extends Record { diff: string; new_path: string; old_path: string; a_mode?: string; b_mode: string; new_file: boolean; renamed_file: boolean; deleted_file: boolean; } interface CommitStatusSchema extends Record { status: CommitablePipelineStatus; created_at: string; started_at?: string; name: string; allow_failure: boolean; author: MappedOmit; description?: string; sha: string; target_url: string; finished_at?: string; id: number; ref: string; } interface CommitReferenceSchema extends Record { type: 'branch' | 'tag' | 'all'; name: string; } interface CommitDiscussionNoteSchema extends MappedOmit { confidential?: boolean; commands_changes: Record; } interface CommitDiscussionSchema extends Record { id: string; individual_note: boolean; notes?: CommitDiscussionNoteSchema[]; } type AllCommitsOptions = { refName?: string; since?: string; until?: string; path?: string; author?: string; all?: boolean; withStats?: boolean; firstParent?: boolean; order?: string; trailers?: boolean; }; type CreateCommitOptions = { startBranch?: string; startSha?: string; startProject?: number | string; actions?: CommitAction[]; authorEmail?: string; authorName?: string; stats?: boolean; force?: boolean; }; type EditPipelineStatusOptions = { ref?: string; name?: string; context?: string; targetUrl?: string; description?: string; coverage?: number; pipelineId?: number; }; declare class Commits extends BaseResource { all(projectId: string | number, options: AllCommitsOptions & PaginationRequestOptions

& Sudo & ShowExpanded & { withStats: true; }): Promise>; all(projectId: string | number, options: AllCommitsOptions & PaginationRequestOptions

& Sudo & ShowExpanded & { trailers: true; }): Promise; })[], C, E, P>>; all(projectId: string | number, options: AllCommitsOptions & PaginationRequestOptions

& Sudo & ShowExpanded & { withStats: true; trailers: true; }): Promise; stats: CommitStatsSchema; })[], C, E, P>>; all(projectId: string | number, options?: AllCommitsOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allComments(projectId: string | number, sha: string, options?: Sudo & ShowExpanded): Promise>; allDiscussions(projectId: string | number, sha: string, options?: Sudo & ShowExpanded): Promise>; allMergeRequests(projectId: string | number, sha: string, options?: AllMergeRequestsOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allReferences(projectId: string | number, sha: string, options?: { type?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allStatuses(projectId: string | number, sha: string, options?: { ref?: string; stage?: string; name?: string; all?: boolean; } & Sudo & ShowExpanded): Promise>; cherryPick(projectId: string | number, sha: string, branch: string, options?: { dryRun?: boolean; message?: string; } & Sudo & ShowExpanded): Promise>; create(projectId: string | number, branch: string, message: string, actions?: CommitAction[], options?: CreateCommitOptions & Sudo & ShowExpanded): Promise>; createComment(projectId: string | number, sha: string, note: string, options?: { path?: string; line?: number; lineType?: string; } & Sudo & ShowExpanded): Promise>; editStatus(projectId: string | number, sha: string, state: CommitablePipelineStatus, options?: EditPipelineStatusOptions & Sudo & ShowExpanded): Promise>; revert(projectId: string | number, sha: string, branch: string, options?: { dryRun?: boolean; } & Sudo & ShowExpanded): Promise>; show(projectId: string | number, sha: string, options?: { stats?: boolean; } & Sudo & ShowExpanded): Promise>; showDiff(projectId: string | number, sha: string, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; showGPGSignature(projectId: string | number, sha: string, options?: Sudo & ShowExpanded): Promise>; } type TodoAction = 'assigned' | 'mentioned' | 'build_failed' | 'marked' | 'approval_required' | 'unmergeable' | 'directly_addressed' | 'merge_train_removed'; type TodoType = 'Issue' | 'MergeRequest' | 'Commit' | 'Epic' | 'DesignManagement::Design' | 'AlertManagement::Alert'; type TodoState = 'pending' | 'done'; interface TodoSchema extends Record { id: number; author: MappedOmit; project: Pick; action_name: TodoAction; target_type: TodoType; target: Record; target_url: string; body: string; state: TodoState; created_at: string; updated_at: string; } declare class TodoLists extends BaseResource { all(options?: { action?: TodoAction; authorId?: number; projectId?: string | number; groupId?: string | number; state?: TodoState; type?: TodoType; } & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; done(options: { todoId: number; } & Sudo & ShowExpanded): Promise>; done(options?: Sudo & ShowExpanded): Promise>; } interface SimpleLabelSchema extends Record { id: number; name: string; description: null | string; description_html: string; text_color: string; color: string; } interface LabelSchema extends SimpleLabelSchema { open_issues_count: number; closed_issues_count: number; open_merge_requests_count: number; subscribed: boolean; priority: number; is_project_label: boolean; } interface LabelCountSchema extends Record { open_issues_count: number; closed_issues_count: number; open_merge_requests_count: number; } declare class ResourceLabels extends BaseResource { constructor(resourceType: string, options: BaseResourceOptions); all(resourceId: string | number, options: { withCounts: true; includeAncestorGroups?: boolean; search?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; all(resourceId: string | number, options?: { includeAncestorGroups?: boolean; search?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(resourceId: string | number, labelName: string, color: string, options?: { description?: string; priority?: number; } & Sudo & ShowExpanded): Promise>; edit(resourceId: number | string, labelId: number | string, options: OneOf<{ newName: string; color: string; }> & { description?: string; priority?: number; } & Sudo & ShowExpanded): Promise>; promote(resourceId: string | number, labelId: number | string, options?: Sudo & ShowExpanded): Promise>; remove(resourceId: string | number, labelId: number | string, options?: Sudo & ShowExpanded): Promise>; show(resourceId: string | number, labelId: number | string, options?: { includeAncestorGroups?: boolean; } & Sudo & ShowExpanded): Promise>; subscribe(resourceId: string | number, labelId: number | string, options?: Sudo & ShowExpanded): Promise>; unsubscribe(resourceId: string | number, labelId: number | string, options?: Sudo & ShowExpanded): Promise>; } interface DiffRefsSchema { base_sha: string; head_sha: string; start_sha: string; } interface ReferenceSchema { short: string; relative: string; full: string; } interface TaskCompletionStatusSchema { count: number; completed_count: number; } interface MergeRequestDiffSchema extends Record { old_path: string; new_path: string; a_mode: string; b_mode: string; new_file: boolean; renamed_file: boolean; deleted_file: boolean; diff: string; } interface MergeRequestDiffVersionsSchema extends Record { id: number; head_commit_sha: string; base_commit_sha: string; start_commit_sha: string; created_at: string; merge_request_id: number; state: string; real_size: string; } interface ExpandedMergeRequestDiffVersionsSchema extends Record { id: number; head_commit_sha: string; base_commit_sha: string; start_commit_sha: string; created_at: string; merge_request_id: number; state: string; real_size: string; commits: CommitSchema[]; diffs: CommitDiffSchema[]; } interface MergeRequestRebaseSchema extends Record { rebase_in_progress?: boolean; merge_error?: string; } interface CondensedMergeRequestSchema extends Record { id: number; iid: number; project_id: number; title: string; description: string; state: string; created_at: string; updated_at: string; web_url: string; } interface MergeRequestSchema extends CondensedMergeRequestSchema { merged_by: MappedOmit | null; merged_at: string | null; closed_by: MappedOmit | null; closed_at: string | null; target_branch: string; source_branch: string; user_notes_count: number; upvotes: number; downvotes: number; author: MappedOmit; assignees: MappedOmit[] | null; assignee: MappedOmit | null; reviewers: MappedOmit[] | null; source_project_id: number; target_project_id: number; labels: string[] | SimpleLabelSchema[]; draft: boolean; work_in_progress: boolean; milestone: MilestoneSchema | null; merge_when_pipeline_succeeds: boolean; merge_status: 'unchecked' | 'checking' | 'can_be_merged' | 'cannot_be_merged' | 'cannot_be_merged_recheck'; detailed_merge_status: 'blocked_status' | 'broken_status' | 'checking' | 'unchecked' | 'ci_must_pass' | 'ci_still_running' | 'discussions_not_resolved' | 'draft_status' | 'external_status_checks' | 'mergeable' | 'not_approved' | 'not_open' | 'policies_denied' | 'jira_association_missing'; sha: string; merge_commit_sha: string | null; squash_commit_sha: string | null; discussion_locked: boolean | null; should_remove_source_branch: boolean | null; force_remove_source_branch: boolean; reference: string; references: ReferenceSchema; time_stats: TimeStatsSchema; squash: boolean; task_completion_status: TaskCompletionStatusSchema; prepared_at: string | null; has_conflicts: boolean; blocking_discussions_resolved: boolean; approvals_before_merge: number | null; } interface ExpandedMergeRequestSchema extends MergeRequestSchema { subscribed: boolean; changes_count: string; latest_build_started_at: string | null; latest_build_finished_at: string | null; first_deployed_to_production_at: null; pipeline: PipelineSchema | null; head_pipeline: ExpandedPipelineSchema | null; diff_refs: DiffRefsSchema; merge_error: string | null; first_contribution: boolean; user: { can_merge: boolean; }; } interface MergeRequestSchemaWithExpandedLabels extends MergeRequestSchema { labels: SimpleLabelSchema[]; } interface MergeRequestSchemaWithBasicLabels extends MergeRequestSchema { labels: string[]; } interface MergeRequestTodoSchema extends TodoSchema { project: SimpleProjectSchema; target_type: 'MergeRequest'; target: ExpandedMergeRequestSchema; } interface MergeRequestChangesSchema extends MappedOmit { changes: CommitDiffSchema[]; overflow: boolean; } type AllMergeRequestsOptions = { approvedByIds?: number[]; approverIds?: number[]; approved?: string; assigneeId?: number; authorId?: number; authorUsername?: string; createdAfter?: string; createdBefore?: string; deployedAfter?: string; deployedBefore?: string; environment?: string; iids?: number[]; labels?: string; milestone?: string; myReactionEmoji?: string; not?: { labels?: string | string[]; milestone?: string; authorId?: number; authorUsername?: string; assigneeId?: number; assigneeUsername?: string; reviewerId?: number; reviewerUsername?: string; myReactionEmoji?: string; }; orderBy?: 'created_at' | 'updated_at'; reviewerId?: number | 'Any' | 'None'; reviewerUsername?: string; scope?: 'created_by_me' | 'assigned_to_me' | 'all'; search?: string; sort?: 'asc' | 'desc'; sourceBranch?: string; state?: 'opened' | 'closed' | 'locked' | 'merged'; targetBranch?: string; updatedAfter?: string; updatedBefore?: string; view?: string; withLabelsDetails?: boolean; withMergeStatusRecheck?: boolean; wip?: string; }; type AcceptMergeRequestOptions = { mergeCommitMessage?: string; squashCommitMessage?: string; squash?: boolean; shouldRemoveSourceBranch?: boolean; mergeWhenPipelineSucceeds?: boolean; sha?: string; }; type EditMergeRequestOptions = { targetBranch?: string; title?: string; assigneeId?: number; assigneeIds?: number[]; reviewerId?: number; reviewerIds?: number[]; milestoneId?: number; addLabels?: string; labels?: string | Array; removeLabels?: string; description?: string; stateEvent?: string; removeSourceBranch?: boolean; squash?: boolean; squashOnMerge?: boolean; discussionLocked?: boolean; allowCollaboration?: boolean; allowMaintainerToPush?: boolean; }; type CreateMergeRequestOptions = { targetProjectId?: number; } & Pick; declare class MergeRequests extends BaseResource { accept(projectId: string | number, mergerequestIId: number, options?: AcceptMergeRequestOptions & Sudo & ShowExpanded): Promise>; addSpentTime(projectId: string | number, mergerequestIId: number, duration: string, options?: Sudo & ShowExpanded): Promise>; all(options: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & PaginationRequestOptions

& AllMergeRequestsOptions & { withLabelsDetails: true; }): Promise>; all(options?: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & PaginationRequestOptions

& AllMergeRequestsOptions & BaseRequestOptions & { withLabelsDetails?: false; }): Promise>; allDiffs(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; allCommits(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; allDiffVersions(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded): Promise>; allIssuesClosed(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded): Promise>; allParticipants(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded): Promise[], C, E, void>>; allPipelines(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded): Promise[], C, E, void>>; cancelOnPipelineSuccess(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded): Promise>; create(projectId: string | number, sourceBranch: string, targetBranch: string, title: string, options?: CreateMergeRequestOptions & Sudo & ShowExpanded): Promise>; createPipeline(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded): Promise>; createTodo(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded): Promise>; edit(projectId: string | number, mergerequestIId: number, options?: EditMergeRequestOptions & Sudo & ShowExpanded): Promise>; merge(projectId: string | number, mergerequestIId: number, options?: AcceptMergeRequestOptions & Sudo & ShowExpanded): Promise>; mergeToDefault(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded): Promise>; rebase(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded): Promise>; resetSpentTime(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded): Promise>; resetTimeEstimate(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded): Promise>; setTimeEstimate(projectId: string | number, mergerequestIId: number, duration: string, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, mergerequestIId: number, options?: { renderHtml?: boolean; includeDivergedCommitsCount?: true; includeRebaseInProgress?: boolean; } & Sudo & ShowExpanded): Promise>; showChanges(projectId: string | number, mergerequestIId: number, options?: { accessRawDiffs?: boolean; } & Sudo & ShowExpanded): Promise>; showDiffVersion(projectId: string | number, mergerequestIId: number, versionId: number, options?: Sudo & ShowExpanded): Promise>; showTimeStats(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded): Promise>; subscribe(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded): Promise>; unsubscribe(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded): Promise>; } interface TimeStatsSchema extends Record { time_estimate: number; total_time_spent: number; human_time_estimate: string | null; human_total_time_spent: string | null; } interface IssueSchema extends Record { state: string; description: string; health_status?: string; weight?: number; author: MappedOmit; milestone: MilestoneSchema; project_id: number; assignees?: MappedOmit[]; type: string; updated_at: string; closed_at?: string; closed_by?: string; id: number; title: string; created_at: string; moved_to_id?: string; iid: number; labels: string[] | SimpleLabelSchema[]; upvotes: number; downvotes: number; merge_requests_count: number; user_notes_count: number; due_date: string; web_url: string; references: { short: string; relative: string; full: string; }; time_stats: TimeStatsSchema; has_tasks: boolean; task_status: string; confidential: boolean; discussion_locked: boolean; _links: { self: string; notes: string; award_emoji: string; project: string; }; task_completion_status: { count: number; completed_count: number; }; subscribed: boolean; epic?: { id: number; iid: number; title: string; url: string; group_id: number; }; service_desk_reply_to?: string; } interface IssueSchemaWithExpandedLabels extends IssueSchema { labels: SimpleLabelSchema[]; } interface IssueSchemaWithBasicLabels extends IssueSchema { labels: string[]; } type AllIssuesOptions = { assigneeId?: number; assigneeUsername?: string[]; authorId?: number; authorUsername?: string; confidential?: boolean; createdAfter?: string; createdBefore?: string; dueDate?: string; epicId?: number; healthStatus?: string; iids?: number[]; in?: string; issueType?: string; iterationId?: number; iterationTitle?: string; labels?: string; milestone?: string; milestoneId?: string; myReactionEmoji?: string; nonArchived?: boolean; not?: Record; orderBy?: string; scope?: string; search?: string; sort?: string; state?: string; updatedAfter?: string; updatedBefore?: string; weight?: number; withLabelsDetails?: boolean; }; type CreateIssueOptions = { assigneeId?: number; assigneeIds?: number[]; confidential?: boolean; createdAt?: string; description?: string; discussionToResolve?: string; dueDate?: string; epicId?: number; epicIid?: number; iid?: number | string; issueType?: string; labels?: string; mergeRequestToResolveDiscussionsOf?: number; milestoneId?: number; weight?: number; }; type EditIssueOptions = { addLabels?: string; assigneeId?: number; assigneeIds?: number[]; confidential?: boolean; description?: string; discussionLocked?: boolean; dueDate?: string; epicId?: number; epicIid?: number; issueType?: string; labels?: string; milestoneId?: number; removeLabels?: string; stateEvent?: string; title?: string; updatedAt?: string; weight?: number; }; declare class Issues extends BaseResource { addSpentTime(projectId: string | number, issueIId: number, duration: string, options?: { summary?: string; } & Sudo & ShowExpanded): Promise>; addTimeEstimate(projectId: string | number, issueIId: number, duration: string, options?: Sudo & ShowExpanded): Promise>; all(options: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & PaginationRequestOptions

& AllIssuesOptions & { withLabelsDetails: true; }): Promise>; all(options?: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & PaginationRequestOptions

& AllIssuesOptions & BaseRequestOptions & { withLabelsDetails?: false; }): Promise>; allMetricImages(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded): Promise>; allParticipants(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded): Promise[], C, E, void>>; allRelatedMergeRequests(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded): Promise>; create(projectId: string | number, title: string, options?: CreateIssueOptions & Sudo & ShowExpanded): Promise>; createTodo(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded): Promise>; clone(projectId: string | number, issueIId: number, destinationProjectId: string | number, options?: { withNotes?: boolean; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, issueIId: number, options?: EditIssueOptions & Sudo & ShowExpanded): Promise>; editMetricImage(projectId: string | number, issueIId: number, imageId: number, options?: { url?: string; urlText?: string; } & Sudo & ShowExpanded): Promise>; move(projectId: string | number, issueIId: number, destinationProjectId: string | number, options?: Sudo & ShowExpanded): Promise>; promote(projectId: string | number, issueIId: number, body: string, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded): Promise>; removeMetricImage(projectId: string | number, issueIId: number, imageId: number, options?: Sudo & ShowExpanded): Promise>; reorder(projectId: string | number, issueIId: number, options?: { moveAfterId?: number; moveBeforeId?: number; } & Sudo & ShowExpanded): Promise>; resetSpentTime(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded): Promise>; resetTimeEstimate(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded): Promise>; show(issueId: number, { projectId, ...options }?: { projectId?: string | number; } & Sudo & ShowExpanded): Promise>; subscribe(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded): Promise>; allClosedByMergeRequestst(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded): Promise>; showTimeStats(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded): Promise>; unsubscribe(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded): Promise>; uploadMetricImage(projectId: string | number, issueIId: number, metricImage: { content: Blob; filename: string; }, options?: { url?: string; urlText?: string; } & Sudo & ShowExpanded): Promise>; showUserAgentDetails(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded): Promise>; } interface MilestoneSchema extends Record { id: number; iid: number; project_id: number; title: string; description: string; due_date?: string; start_date: string; state: string; updated_at: string; created_at: string; expired: boolean; web_url: string; } interface BurndownChartEventSchema extends Record { created_at: string; weight: number; action: string; } interface AllMilestonesOptions { iids?: number[]; state?: string; title?: string; search?: string; includeParentMilestones?: boolean; updatedBefore?: string; updatedAfter?: string; } declare class ResourceMilestones extends BaseResource { constructor(resourceType: string, options: BaseResourceOptions); all(resourceId: string | number, options?: AllMilestonesOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allAssignedIssues(resourceId: string | number, milestoneId: number, options?: Sudo & ShowExpanded): Promise>; allAssignedMergeRequests(resourceId: string | number, milestoneId: number, options?: Sudo & ShowExpanded): Promise>; allBurndownChartEvents(resourceId: string | number, milestoneId: number, options?: Sudo & ShowExpanded): Promise>; create(resourceId: string | number, title: string, options?: { description?: string; dueDate?: string; startDate?: string; } & Sudo & ShowExpanded): Promise>; edit(resourceId: string | number, milestoneId: number, options?: { title?: string; description?: string; dueDate?: string; startDate?: string; stateEvent?: 'close' | 'activate'; } & Sudo & ShowExpanded): Promise>; remove(resourceId: string | number, milestoneId: number, options?: Sudo & ShowExpanded): Promise>; show(resourceId: string | number, milestoneId: number, options?: Sudo & ShowExpanded): Promise>; } interface IssueBoardListSchema extends Record { id: number; label: Pick; position: number; max_issue_count: number; max_issue_weight: number; limit_metric?: string; } interface IssueBoardSchema extends Record { id: number; name: string; milestone: Pick; lists?: IssueBoardListSchema[]; } declare class ResourceIssueBoards extends BaseResource { constructor(resourceType: string, options: BaseResourceOptions); all(resourceId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allLists(resourceId: string | number, boardId: number, options?: Sudo & ShowExpanded): Promise>; create(resourceId: string | number, name: string, options?: Sudo & ShowExpanded): Promise>; createList(resourceId: string | number, boardId: number, options?: OneOrNoneOf<{ labelId: number; assigneeId: number; milestoneId: number; }> & Sudo & ShowExpanded): Promise>; edit(resourceId: string | number, boardId: number, options?: { name?: string; assigneeId?: number; milestoneId?: number; labels?: string; weight?: number; } & Sudo & ShowExpanded): Promise>; editList(resourceId: string | number, boardId: number, listId: number, position: number, options?: Sudo & ShowExpanded): Promise>; remove(resourceId: string | number, boardId: number, options?: Sudo & ShowExpanded): Promise>; removeList(resourceId: string | number, boardId: number, listId: number, options?: Sudo & ShowExpanded): Promise>; show(resourceId: string | number, boardId: number, options?: Sudo & ShowExpanded): Promise>; showList(resourceId: string | number, boardId: number, listId: number, options?: Sudo & ShowExpanded): Promise>; } interface IncludeInherited { includeInherited?: boolean; } interface CondensedMemberSchema extends Record { id: number; username: string; name: string; state: string; avatar_url: string; web_url: string; } interface SimpleMemberSchema extends CondensedMemberSchema { expires_at: string; access_level: Exclude; email: string; } interface MemberSchema extends SimpleMemberSchema { group_saml_identity: { extern_uid: string; provider: string; saml_provider_id: number; }; } interface AddMemeberOptions { expiresAt?: string; inviteSource?: string; tasksToBeDone?: string[]; tasksProjectId?: number; } interface AllMembersOptions { query?: string; userIds?: number[]; skipUsers?: number[]; showSeatInfo?: boolean; } declare class ResourceMembers extends BaseResource { constructor(resourceType: string, options: BaseResourceOptions); add(resourceId: string | number, userId: number, accessLevel: Exclude, options?: AddMemeberOptions & Sudo & ShowExpanded): Promise>; all(resourceId: string | number, { includeInherited, ...options }?: IncludeInherited & PaginationRequestOptions

& AllMembersOptions & BaseRequestOptions): Promise>; edit(resourceId: string | number, userId: number, accessLevel: Exclude, options?: { expiresAt?: string; memberRoleId?: number; } & Sudo & ShowExpanded): Promise>; show(resourceId: string | number, userId: number, { includeInherited, ...options }?: IncludeInherited & Sudo & ShowExpanded): Promise>; remove(resourceId: string | number, userId: number, options?: { skipSubresourceS?: boolean; unassignIssuables?: boolean; } & Sudo & ShowExpanded): Promise>; } interface NoteSchema extends Record { id: number; body: string; attachment: string | null; author: MappedOmit; created_at: string; updated_at: string; system: boolean; noteable_id: number; noteable_type: 'Issue' | 'Snippet' | 'Epic' | 'Commit' | 'MergeRequest'; noteable_iid: number; project_id: number; resolvable: boolean; } declare class ResourceNotes extends BaseResource { protected resource2Type: string; constructor(resourceType: string, resource2Type: string, options: BaseResourceOptions); all(resourceId: string | number, resource2Id: string | number, options?: { sort?: 'asc' | 'desc'; orderBy?: 'created_at' | 'updated_at'; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(resourceId: string | number, resource2Id: string | number, body: string, options?: { internal?: boolean; createdAt?: string; } & Sudo & ShowExpanded): Promise>; edit(resourceId: string | number, resource2Id: string | number, noteId: number, options?: { body?: string; } & Sudo & ShowExpanded): Promise>; remove(resourceId: string | number, resource2Id: string | number, noteId: number, options?: Sudo & ShowExpanded): Promise>; show(resourceId: string | number, resource2Id: string | number, noteId: number, options?: Sudo & ShowExpanded): Promise, E, undefined>>; } interface TemplateSchema extends Record { name: string; content: string; } declare class ResourceTemplates extends BaseResource { constructor(resourceType: string, options: BaseResourceOptions); all(options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; show(key: string | number, options?: Sudo & ShowExpanded): Promise>; } type VariableType = 'env_var' | 'file'; interface VariableSchema extends Record { variable_type: VariableType; value: string; protected: boolean; masked: boolean; key: string; } type VariableFilter = Record<'environment_scope', number | string>; declare class ResourceVariables extends BaseResource { constructor(resourceType: string, options: BaseResourceOptions); all(resourceId: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(resourceId: string | number, key: string, value: string, options?: { variableType?: VariableType; protected?: boolean; masked?: boolean; environmentScope?: string; } & Sudo & ShowExpanded): Promise>; edit(resourceId: string | number, key: string, value: string, options?: { variableType?: VariableType; protected?: boolean; masked?: boolean; environmentScope?: string; filter: VariableFilter; } & Sudo & ShowExpanded): Promise>; show(resourceId: string | number, key: string, options?: { filter?: VariableFilter; } & Sudo & ShowExpanded): Promise>; remove(resourceId: string | number, key: string, options?: { filter?: VariableFilter; } & Sudo & ShowExpanded): Promise>; } interface WikiSchema extends Record { content: string; format: string; slug: string; title: string; encoding: string; } interface WikiAttachmentSchema extends Record { file_name: string; file_path: string; branch: string; link: { url: string; markdown: string; }; } declare class ResourceWikis extends BaseResource { constructor(resourceType: string, options: BaseResourceOptions); all(resourceId: string | number, options: { withContent: true; } & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; all(resourceId: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(resourceId: string | number, content: string, title: string, options?: { format?: string; } & Sudo & ShowExpanded): Promise>; edit(resourceId: string | number, slug: string, options?: OneOf<{ content: string; title: string; }> & { format?: string; } & Sudo & ShowExpanded): Promise>; remove(resourceId: string | number, slug: string, options?: Sudo & ShowExpanded): Promise>; show(resourceId: string | number, slug: string, options?: { renderHtml?: boolean; version?: string; } & Sudo & ShowExpanded): Promise>; uploadAttachment(resourceId: string | number, file: { content: Blob; filename: string; }, options?: { branch?: string; } & Sudo & ShowExpanded): Promise>; } interface HookSchema extends Record { id: number; url: string; created_at: string; push_events: boolean; tag_push_events: boolean; merge_requests_events: boolean; repository_update_events: boolean; enable_ssl_verification: boolean; } interface ExpandedHookSchema extends HookSchema { push_events_branch_filter: string; issues_events: boolean; confidential_issues_events: boolean; note_events: boolean; confidential_note_events: boolean; job_events: boolean; pipeline_events: boolean; wiki_page_events: boolean; deployment_events: boolean; releases_events: boolean; alert_status: string; disabled_until?: string; url_variables: string[]; } interface AddResourceHookOptions { pushEvents?: boolean; pushEventsBranchFilter?: string; issuesEvents?: boolean; confidentialIssuesEvents?: boolean; mergeRequestsEvents?: boolean; tagPushEvents?: boolean; noteEvents?: boolean; confidentialNoteEvents?: boolean; jobEvents?: boolean; pipelineEvents?: boolean; wikiPageEvents?: boolean; deploymentEvents?: boolean; releasesEvents?: boolean; subgroupEvents?: boolean; enableSslVerification?: boolean; token?: string; } type EditResourceHookOptions = AddResourceHookOptions; declare class ResourceHooks extends BaseResource { constructor(resourceType: string, options: BaseResourceOptions); add(resourceId: string | number, url: string, options?: AddResourceHookOptions & Sudo & ShowExpanded): Promise>; all(resourceId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; edit(resourceId: string | number, hookId: number, url: string, options?: EditResourceHookOptions & Sudo & ShowExpanded): Promise>; remove(resourceId: string | number, hookId: number, options?: Sudo & ShowExpanded): Promise>; show(resourceId: string | number, hookId: number, options?: Sudo & ShowExpanded): Promise>; } interface PushRuleSchema extends Record { id: number; commit_message_regex: string; commit_message_negative_regex: string; branch_name_regex: string; deny_delete_tag: boolean; created_at: string; member_check: boolean; prevent_secrets: boolean; author_email_regex: string; file_name_regex: string; max_file_size: number; commit_committer_check?: boolean; reject_unsigned_commits?: boolean; } interface CreateAndEditPushRuleOptions { denyDeleteTag?: boolean; memberCheck?: boolean; preventSecrets?: boolean; commitMessageRegex?: string; commitMessagNegativeRegex?: string; branchNameRegex?: string; authorEmailRegex?: string; fileNameRegex?: string; maxFileSize?: number; commitCommitterCheck?: boolean; rejectUnsignedCommits?: boolean; } declare class ResourcePushRules extends BaseResource { constructor(resourceType: string, options: BaseResourceOptions); create(resourceId: string | number, options?: CreateAndEditPushRuleOptions & Sudo & ShowExpanded): Promise>; edit(resourceId: string | number, options?: CreateAndEditPushRuleOptions & Sudo & ShowExpanded): Promise>; remove(resourceId: string | number, options?: Sudo & ShowExpanded): Promise>; show(resourceId: string | number, options?: Sudo & ShowExpanded): Promise>; } interface RepositoryStorageMoveSchema extends Record { id: number; created_at: string; state: 'initial' | 'scheduled' | 'started' | 'replicated' | 'failed' | 'finished' | 'cleanup failed'; source_storage_name: string; destination_storage_name: string; } declare class ResourceRepositoryStorageMoves extends BaseResource { protected resourceType: string; protected resourceTypeSingular: string; constructor(resourceType: string, options: BaseResourceOptions); all(options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; show(repositoryStorageId: number, options?: Sudo & ShowExpanded): Promise>; schedule(sourceStorageName: string, options?: { destinationStorageName?: string; } & Sudo & ShowExpanded): Promise>; } interface InvitationSchema extends Record { id: number; invite_email: string; created_at: string; access_level: Exclude; expires_at: string; user_name: string; created_by_name: string; } declare class ResourceInvitations extends BaseResource { constructor(resourceType: string, options: BaseResourceOptions); add(resourceId: string | number, accessLevel: Exclude, options: OneOf<{ email: string; userId: string; }> & { expiresAt?: string; inviteSource?: string; tasksToBeDone?: string[]; tasksProjectId?: number; } & Sudo & ShowExpanded): Promise>; all(resourceId: string | number, options?: PaginationRequestOptions

& { query?: string; } & Sudo & ShowExpanded): Promise>; edit(resourceId: string | number, email: string, options?: { expiresAt?: string; accessLevel?: Exclude; } & Sudo & ShowExpanded): Promise>; remove(resourceId: string | number, email: string, options?: Sudo & ShowExpanded): Promise>; } interface IterationSchema extends Record { id: number; iid: number; group_id: number; title: string; description: string; state: number; created_at: string; updated_at: string; due_date: string; start_date: string; web_url: string; } interface AllIterationsOptions { state?: 'opened' | 'upcoming' | 'current' | 'closed' | 'all'; search?: string; includeAncestors?: boolean; updatedBefore?: string; updatedAfter?: string; } declare class ResourceIterations extends BaseResource { constructor(resourceType: string, options: BaseResourceOptions); all(resourceId: string | number, options?: AllIterationsOptions & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; } interface ProtectedEnvironmentAccessLevelSummarySchema { access_level: AccessLevel.DEVELOPER | AccessLevel.MAINTAINER | AccessLevel.ADMIN; access_level_description: string; user_id?: number; group_id?: number; } interface ProtectedEnvironmentSchema extends Record { name: string; deploy_access_levels?: ProtectedEnvironmentAccessLevelSummarySchema[]; required_approval_count: number; } type ProtectedEnvironmentAccessLevelEntity = OneOf<{ userId: number; groupId: number; accessLevel: AccessLevel.DEVELOPER | AccessLevel.MAINTAINER | AccessLevel.ADMIN; }>; declare class ResourceProtectedEnvironments extends BaseResource { constructor(resourceType: string, options: BaseResourceOptions); all(resourceId: string | number, options?: { search?: string; } & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(resourceId: string | number, name: string, deployAccessLevel: ProtectedEnvironmentAccessLevelEntity[], options?: { requiredApprovalCount?: number; approvalRules?: ProtectedEnvironmentAccessLevelEntity[]; } & Sudo & ShowExpanded): Promise>; edit(resourceId: string | number, name: string, options?: { deployAccessLevels?: ProtectedEnvironmentAccessLevelEntity[]; requiredApprovalCount?: number; approvalRules?: ProtectedEnvironmentAccessLevelEntity[]; } & Sudo & ShowExpanded): Promise>; show(resourceId: string | number, name: string, options?: Sudo & ShowExpanded): Promise>; remove(resourceId: string | number, name: string, options?: Sudo & ShowExpanded): Promise>; } interface IterationEventSchema extends Record { id: number; user: MappedOmit; created_at: string; resource_type: 'Issue'; resource_id: number; iteration: IterationSchema; action: 'add' | 'remove'; } declare class ResourceIterationEvents extends BaseResource { protected resource2Type: string; constructor(resourceType: string, resource2Type: string, options: BaseResourceOptions); all(resourceId: string | number, resource2Id: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; show(resourceId: string | number, resource2Id: string | number, iterationEventId: number, options?: Sudo & ShowExpanded): Promise>; } interface LabelEventSchema extends Record { id: number; user: MappedOmit; created_at: string; resource_type: 'Issue' | 'Epic' | 'MergeRequest'; resource_id: number; label: LabelSchema; action: 'add' | 'remove'; } declare class ResourceLabelEvents extends BaseResource { protected resource2Type: string; constructor(resourceType: string, resource2Type: string, options: BaseResourceOptions); all(resourceId: string | number, resource2Id: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; show(resourceId: string | number, resource2Id: string | number, labelEventId: number, options?: Sudo & ShowExpanded): Promise>; } interface MilestoneEventSchema extends Record { id: number; user: MappedOmit; created_at: string; resource_type: 'Issue' | 'MergeRequest'; resource_id: number; milestone: MilestoneSchema; action: 'add' | 'remove'; } declare class ResourceMilestoneEvents extends BaseResource { protected resource2Type: string; constructor(resourceType: string, resource2Type: string, options: BaseResourceOptions); all(resourceId: string | number, resource2Id: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; show(resourceId: string | number, resource2Id: string | number, milestoneEventId: number, options?: Sudo & ShowExpanded): Promise>; } interface StateEventSchema extends Record { id: number; user: MappedOmit; created_at: string; resource_type: 'Issue'; resource_id: number; action: 'add' | 'remove'; state: 'opened' | 'closed'; } declare class ResourceStateEvents extends BaseResource { protected resource2Type: string; constructor(resourceType: string, resource2Type: string, options: BaseResourceOptions); all(resourceId: string | number, resource2Id: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; show(resourceId: string | number, resource2Id: string | number, stateEventId: number, options?: Sudo & ShowExpanded): Promise>; } interface WeightEventSchema extends Record { id: number; user: MappedOmit; created_at: string; issue_id: number; weight: number; } declare class ResourceWeightEvents extends BaseResource { protected resource2Type: string; constructor(resourceType: string, resource2Type: string, options: BaseResourceOptions); all(resourceId: string | number, resource2Id: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; show(resourceId: string | number, resource2Id: string | number, weightEventId: number, options?: Sudo & ShowExpanded): Promise>; } declare class DockerfileTemplates extends ResourceTemplates { constructor(options: BaseResourceOptions); } interface ExperimentGateSchema { key: string; value: boolean | number; } interface ExperimentSchema extends Record { key: string; definition: { name: string; introduced_by_url: string; rollout_issue_url: string; milestone: string; type: string; group: string; default_enabled: boolean; }; current_status: { state: string; gates?: ExperimentGateSchema[]; }; } declare class Experiments extends BaseResource { all(options?: PaginationRequestOptions

& BaseRequestOptions): Promise>; } interface GeoNodeSchema extends Record { id: number; name: string; url: string; internal_url: string; primary: boolean; enabled: boolean; current: boolean; files_max_capacity: number; repos_max_capacity: number; verification_max_capacity: number; selective_sync_type: string; selective_sync_shards?: string[]; selective_sync_namespace_ids?: number[]; minimum_reverification_interval: number; container_repositories_max_capacity: number; sync_object_storage: boolean; clone_protocol: string; web_edit_url: string; web_geo_projects_url: string; _links: { self: string; status: string; repair: string; }; } interface GeoNodeFailureSchema extends Record { project_id: number; last_repository_synced_at: string; last_repository_successful_sync_at: string; last_wiki_synced_at: string; last_wiki_successful_sync_at: string; repository_retry_count?: number; wiki_retry_count: number; last_repository_sync_failure?: string; last_wiki_sync_failure: string; last_repository_verification_failure: string; last_wiki_verification_failure: string; repository_verification_checksum_sha: string; wiki_verification_checksum_sha: string; repository_checksum_mismatch: boolean; wiki_checksum_mismatch: boolean; } interface GeoNodeStatusSchema extends Record { geo_node_id: number; healthy: boolean; health: string; health_status: string; missing_oauth_application: boolean; attachments_count: number; attachments_synced_count?: number; attachments_failed_count?: number; attachments_synced_missing_on_primary_count: number; attachments_synced_in_percentage: string; db_replication_lag_seconds?: number; lfs_objects_count: number; lfs_objects_synced_count?: number; lfs_objects_failed_count?: number; lfs_objects_synced_missing_on_primary_count: number; lfs_objects_synced_in_percentage: string; job_artifacts_count: number; job_artifacts_synced_count?: number; job_artifacts_failed_count?: number; job_artifacts_synced_missing_on_primary_count: number; job_artifacts_synced_in_percentage: string; container_repositories_count: number; container_repositories_synced_count?: number; container_repositories_failed_count?: number; container_repositories_synced_in_percentage: string; design_repositories_count: number; design_repositories_synced_count?: number; design_repositories_failed_count?: number; design_repositories_synced_in_percentage: string; projects_count: number; repositories_count: number; repositories_failed_count?: number; repositories_synced_count?: number; repositories_synced_in_percentage: string; wikis_count: number; wikis_failed_count?: number; wikis_synced_count?: number; wikis_synced_in_percentage: string; replication_slots_count: number; replication_slots_used_count: number; replication_slots_used_in_percentage: string; replication_slots_max_retained_wal_bytes: number; repositories_checked_count: number; repositories_checked_failed_count: number; repositories_checked_in_percentage: string; repositories_checksummed_count: number; repositories_checksum_failed_count: number; repositories_checksummed_in_percentage: string; wikis_checksummed_count: number; wikis_checksum_failed_count: number; wikis_checksummed_in_percentage: string; repositories_verified_count: number; repositories_verification_failed_count: number; repositories_verified_in_percentage: string; repositories_checksum_mismatch_count: number; wikis_verified_count: number; wikis_verification_failed_count: number; wikis_verified_in_percentage: string; wikis_checksum_mismatch_count: number; repositories_retrying_verification_count: number; wikis_retrying_verification_count: number; last_event_id: number; last_event_timestamp: number; cursor_last_event_id?: number; cursor_last_event_timestamp: number; last_successful_status_check_timestamp: number; version: string; revision: string; package_files_count: number; package_files_checksummed_count: number; package_files_checksum_failed_count: number; package_files_registry_count: number; package_files_synced_count: number; package_files_failed_count: number; snippet_repositories_count: number; snippet_repositories_checksummed_count: number; snippet_repositories_checksum_failed_count: number; snippet_repositories_registry_count: number; snippet_repositories_synced_count: number; snippet_repositories_failed_count: number; group_wiki_repositories_checksummed_count: number; group_wiki_repositories_checksum_failed_count: number; group_wiki_repositories_registry_count: number; group_wiki_repositories_synced_count: number; group_wiki_repositories_failed_count: number; } type CreateGeoNodeOptions = { primary?: boolean; enabled?: boolean; internalUrl?: string; filesMaxCapacity?: number; reposMaxCapacity?: number; verificationMaxCapacity?: number; containerRepositoriesMaxCapacity?: number; syncObjectStorage?: boolean; selectiveSyncType?: 'namespaces' | 'shards'; selectiveSyncShards?: string[]; selectiveSyncNamespaceIds?: number[]; minimumReverificationInterval?: number; }; type EditGeoNodeOptions = { enabled?: boolean; name?: string; url?: string; internalUrl?: string; filesMaxCapacity?: number; reposMaxCapacity?: number; verificationMaxCapacity?: number; containerRepositoriesMaxCapacity?: number; syncObjectStorage?: boolean; selectiveSyncType?: 'namespaces' | 'shards'; selectiveSyncShards?: string[]; selectiveSyncNamespaceIds?: number[]; minimumReverificationInterval?: number; }; declare class GeoNodes extends BaseResource { all(options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allStatuses(options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allFailures(options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(name: string, url: string, options?: CreateGeoNodeOptions & Sudo & ShowExpanded): Promise>; edit(geonodeId: number, options?: EditGeoNodeOptions & Sudo & ShowExpanded): Promise>; repair(geonodeId: number, options?: Sudo & ShowExpanded): Promise>; remove(geonodeId: number, options?: Sudo & ShowExpanded): Promise>; show(geonodeId: number, options?: Sudo & ShowExpanded): Promise>; showStatus(geonodeId: number, options?: Sudo & ShowExpanded): Promise>; } interface GeoSiteSchema extends Record { id: number; name: string; url: string; internal_url: string; primary: boolean; enabled: boolean; current: boolean; files_max_capacity: number; repos_max_capacity: number; verification_max_capacity: number; selective_sync_type: string; selective_sync_shards?: string[]; selective_sync_namespace_ids?: number[]; minimum_reverification_interval: number; sync_object_storage: boolean; web_edit_url: string; web_geo_projects_url: string; _links: { self: string; status: string; repair: string; }; } interface GeoSiteStatusSchema extends Record { geo_node_id: number; repository_verification_enabled: boolean; repositories_replication_enabled?: boolean; repositories_synced_count: number | null; repositories_failed_count: number | null; repositories_verified_count: number | null; repositories_verification_failed_count: number | null; repositories_verification_total_count: number | null; job_artifacts_synced_missing_on_primary_count: number | null; repositories_checksummed_count: number | null; repositories_checksum_failed_count: number | null; repositories_checksum_mismatch_count: number | null; repositories_checksum_total_count: number | null; repositories_retrying_verification_count: number | null; projects_count: number | null; container_repositories_replication_enabled: boolean | null; lfs_objects_count: number; lfs_objects_checksum_total_count: number; lfs_objects_checksummed_count: number; lfs_objects_checksum_failed_count: number; lfs_objects_synced_count: number | null; lfs_objects_failed_count: number | null; lfs_objects_registry_count: number | null; lfs_objects_verification_total_count: number | null; lfs_objects_verified_count: number | null; lfs_objects_verification_failed_count?: number | null; merge_request_diffs_count: number; merge_request_diffs_checksum_total_count: number; merge_request_diffs_checksummed_count: number; merge_request_diffs_checksum_failed_count: number; merge_request_diffs_synced_count: number | null; merge_request_diffs_failed_count: number | null; merge_request_diffs_registry_count: number | null; merge_request_diffs_verification_total_count: number | null; merge_request_diffs_verified_count: number | null; merge_request_diffs_verification_failed_count: number | null; package_files_count: number; package_files_checksum_total_count: number; package_files_checksummed_count: number; package_files_checksum_failed_count: number; package_files_synced_count: number | null; package_files_failed_count: number | null; package_files_registry_count: number | null; package_files_verification_total_count: number | null; package_files_verified_count: number | null; package_files_verification_failed_count: number | null; terraform_state_versions_count: number; terraform_state_versions_checksum_total_count: number; terraform_state_versions_checksummed_count: number; terraform_state_versions_checksum_failed_count: number; terraform_state_versions_synced_count: number | null; terraform_state_versions_failed_count: number | null; terraform_state_versions_registry_count: number | null; terraform_state_versions_verification_total_count: number | null; terraform_state_versions_verified_count: number | null; terraform_state_versions_verification_failed_count: number | null; snippet_repositories_count: number; snippet_repositories_checksum_total_count: number; snippet_repositories_checksummed_count: number; snippet_repositories_checksum_failed_count: number; snippet_repositories_synced_count: number | null; snippet_repositories_failed_count: number | null; snippet_repositories_registry_count: number | null; snippet_repositories_verification_total_count: number | null; snippet_repositories_verified_count: number | null; snippet_repositories_verification_failed_count: number | null; group_wiki_repositories_count: number; group_wiki_repositories_checksum_total_count: number | null; group_wiki_repositories_checksummed_count: number | null; group_wiki_repositories_checksum_failed_count: number | null; group_wiki_repositories_synced_count: number | null; group_wiki_repositories_failed_count: number | null; group_wiki_repositories_registry_count: number | null; group_wiki_repositories_verification_total_count: number | null; group_wiki_repositories_verified_count: number | null; group_wiki_repositories_verification_failed_count: number | null; pipeline_artifacts_count: number; pipeline_artifacts_checksum_total_count: number; pipeline_artifacts_checksummed_count: number; pipeline_artifacts_checksum_failed_count: number; pipeline_artifacts_synced_count: number | null; pipeline_artifacts_failed_count: number | null; pipeline_artifacts_registry_count: number | null; pipeline_artifacts_verification_total_count: number | null; pipeline_artifacts_verified_count: number | null; pipeline_artifacts_verification_failed_count: number | null; pages_deployments_count: number; pages_deployments_checksum_total_count: number; pages_deployments_checksummed_count: number; pages_deployments_checksum_failed_count: number; pages_deployments_synced_count: number | null; pages_deployments_failed_count: number | null; pages_deployments_registry_count: number | null; pages_deployments_verification_total_count: number | null; pages_deployments_verified_count: number | null; pages_deployments_verification_failed_count: number | null; uploads_count: number; uploads_checksum_total_count: number; uploads_checksummed_count: number; uploads_checksum_failed_count: number; uploads_synced_count: number | null; uploads_failed_count: number | null; uploads_registry_count: number | null; uploads_verification_total_count: number | null; uploads_verified_count: number | null; uploads_verification_failed_count: number | null; job_artifacts_count: number; job_artifacts_checksum_total_count: number; job_artifacts_checksummed_count: number; job_artifacts_checksum_failed_count: number; job_artifacts_synced_count: number | null; job_artifacts_failed_count: number | null; job_artifacts_registry_count: number | null; job_artifacts_verification_total_count: number | null; job_artifacts_verified_count: number | null; job_artifacts_verification_failed_count: number | null; ci_secure_files_count: number; ci_secure_files_checksum_total_count: number; ci_secure_files_checksummed_count: number; ci_secure_files_checksum_failed_count: number; ci_secure_files_synced_count: number | null; ci_secure_files_failed_count: number | null; ci_secure_files_registry_count: number | null; ci_secure_files_verification_total_count: number | null; ci_secure_files_verified_count: number | null; ci_secure_files_verification_failed_count: number | null; container_repositories_count: number; container_repositories_checksum_total_count: number; container_repositories_checksummed_count: number; container_repositories_checksum_failed_count: number; container_repositories_synced_count: number | null; container_repositories_failed_count: number | null; container_repositories_registry_count: number | null; container_repositories_verification_total_count: number | null; container_repositories_verified_count: number | null; container_repositories_verification_failed_count: number | null; dependency_proxy_blobs_count: number; dependency_proxy_blobs_checksum_total_count: number; dependency_proxy_blobs_checksummed_count: number; dependency_proxy_blobs_checksum_failed_count: number; dependency_proxy_blobs_synced_count: number | null; dependency_proxy_blobs_failed_count: number | null; dependency_proxy_blobs_registry_count: number | null; dependency_proxy_blobs_verification_total_count: number | null; dependency_proxy_blobs_verified_count: number | null; dependency_proxy_blobs_verification_failed_count: number | null; dependency_proxy_manifests_count: number; dependency_proxy_manifests_checksum_total_count: number; dependency_proxy_manifests_checksummed_count: number; dependency_proxy_manifests_checksum_failed_count: number; dependency_proxy_manifests_synced_count: number | null; dependency_proxy_manifests_failed_count: number | null; dependency_proxy_manifests_registry_count: number | null; dependency_proxy_manifests_verification_total_count: number | null; dependency_proxy_manifests_verified_count: number | null; dependency_proxy_manifests_verification_failed_count: number | null; project_wiki_repositories_count: number; project_wiki_repositories_checksum_total_count: number; project_wiki_repositories_checksummed_count: number; project_wiki_repositories_checksum_failed_count: number; project_wiki_repositories_synced_count: number | null; project_wiki_repositories_failed_count: number | null; project_wiki_repositories_registry_count: number | null; project_wiki_repositories_verification_total_count: number | null; project_wiki_repositories_verified_count: number | null; project_wiki_repositories_verification_failed_count: number | null; git_fetch_event_count_weekly: number | null; git_push_event_count_weekly: number | null; proxy_remote_requests_event_count_weekly: number | null; proxy_local_requests_event_count_weekly: number | null; repositories_synced_in_percentage: string; repositories_checksummed_in_percentage: string; repositories_verified_in_percentage: string; repositories_checked_in_percentage: string; replication_slots_used_in_percentage: string; lfs_objects_synced_in_percentage: string; lfs_objects_verified_in_percentage: string; merge_request_diffs_synced_in_percentage: string; merge_request_diffs_verified_in_percentage: string; package_files_synced_in_percentage: string; package_files_verified_in_percentage: string; terraform_state_versions_synced_in_percentage: string; terraform_state_versions_verified_in_percentage: string; snippet_repositories_synced_in_percentage: string; snippet_repositories_verified_in_percentage: string; group_wiki_repositories_synced_in_percentage: string; group_wiki_repositories_verified_in_percentage: string; pipeline_artifacts_synced_in_percentage: string; pipeline_artifacts_verified_in_percentage: string; pages_deployments_synced_in_percentage: string; pages_deployments_verified_in_percentage: string; uploads_synced_in_percentage: string; uploads_verified_in_percentage: string; job_artifacts_synced_in_percentage: string; job_artifacts_verified_in_percentage: string; ci_secure_files_synced_in_percentage: string; ci_secure_files_verified_in_percentage: string; container_repositories_synced_in_percentage: string; container_repositories_verified_in_percentage: string; dependency_proxy_blobs_synced_in_percentage: string; dependency_proxy_blobs_verified_in_percentage: string; dependency_proxy_manifests_synced_in_percentage: string; dependency_proxy_manifests_verified_in_percentage: string; project_wiki_repositories_synced_in_percentage: string; project_wiki_repositories_verified_in_percentage: string; repositories_count: number; replication_slots_count: number; replication_slots_used_count: number; healthy: boolean; health: string; health_status: string; missing_oauth_application: boolean; db_replication_lag_seconds: number | null; replication_slots_max_retained_wal_bytes: number; repositories_checked_count: number | null; repositories_checked_failed_count: number | null; last_event_id: number; last_event_timestamp: number; cursor_last_event_id: number | null; cursor_last_event_timestamp: number; last_successful_status_check_timestamp: number; version: string; revision: string; selective_sync_type: string | null; namespaces: string[] | null; updated_at: string; storage_shards_match: boolean; _links: { self: string; site: string; }; } interface GeoSiteFailureSchema extends Record { project_id: number; last_repository_synced_at: string; last_repository_successful_sync_at: string; last_wiki_synced_at: string; last_wiki_successful_sync_at: string; repository_retry_count: number | null; wiki_retry_count: number; last_repository_sync_failure: string | null; last_wiki_sync_failure: string; last_repository_verification_failure: string; last_wiki_verification_failure: string; repository_verification_checksum_sha: string; wiki_verification_checksum_sha: string; repository_checksum_mismatch: boolean; wiki_checksum_mismatch: boolean; } type CreateGeoSiteOptions = { primary?: boolean; enabled?: boolean; internalUrl?: string; filesMaxCapacity?: number; reposMaxCapacity?: number; verificationMaxCapacity?: number; containerRepositoriesMaxCapacity?: number; syncObjectStorage?: boolean; selectiveSyncType?: 'namespaces' | 'shards'; selectiveSyncShards?: string[]; selectiveSyncNamespaceIds?: number[]; minimumReverificationInterval?: number; }; type EditGeoSiteOptions = CreateGeoSiteOptions; declare class GeoSites extends BaseResource { all(options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allStatuses(options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allFailures(options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(name: string, url: string, options?: CreateGeoSiteOptions & Sudo & ShowExpanded): Promise>; edit(geositeId: number, options?: EditGeoSiteOptions & Sudo & ShowExpanded): Promise>; repair(geositeId: number, options?: Sudo & ShowExpanded): Promise>; remove(geositeId: number, options?: Sudo & ShowExpanded): Promise>; show(geositeId: number, options?: Sudo & ShowExpanded): Promise>; showStatus(geositeId: number, options?: Sudo & ShowExpanded): Promise>; } declare class GitLabCIYMLTemplates extends ResourceTemplates { constructor(options: BaseResourceOptions); } declare class GitignoreTemplates extends ResourceTemplates { constructor(options: BaseResourceOptions); } interface RepositoryImportStatusSchema extends Record { id: number; name: string; full_path: string; full_name: string; } interface ExpandedRepositoryImportStatusSchema extends RepositoryImportStatusSchema { import_source: string; import_status: string; human_import_status_name: string; provider_link: string; } declare class Import extends BaseResource { importGithubRepository(personalAccessToken: string, repositoryId: number, targetNamespace: string, options?: { newName?: string; githubHostname?: string; optionalStages?: Record; } & Sudo & ShowExpanded): Promise>; cancelGithubRepositoryImport(projectId: number, options?: Sudo & ShowExpanded): Promise>; importGithubGists(personalAccessToken: string, options?: Sudo & ShowExpanded): Promise>; importBitbucketServerRepository(bitbucketServerUrl: string, bitbucketServerUsername: string, personalAccessToken: string, bitbucketServerProject: string, bitbucketServerRepository: string, options?: { newName?: string; targetNamespace?: string; } & Sudo & ShowExpanded): Promise>; } interface CICDVariableSchema extends Record { key: string; variable_type: string; value: string; protected: boolean; masked: boolean; raw: boolean; } declare class InstanceLevelCICDVariables extends BaseResource { all(options?: Sudo & ShowExpanded): Promise>; create(key: string, value: string, options?: { variableType?: string; protected?: boolean; masked?: boolean; raw?: boolean; } & Sudo & ShowExpanded): Promise>; edit(keyId: string, value: string, options?: { variableType?: string; protected?: boolean; masked?: boolean; raw?: boolean; } & Sudo & ShowExpanded): Promise>; show(keyId: string, options?: Sudo & ShowExpanded): Promise>; remove(keyId: string, options?: Sudo & ShowExpanded): Promise>; } interface DeployKeyProjectsSchema extends Record { id: number; deploy_key_id: number; project_id: number; created_at: string; updated_at: string; can_push: boolean; } interface KeySchema extends Record { id: number; title: string; key: string; created_at: string; expires_at: string; usage_type?: string; user: ExpandedUserSchema; deploy_keys_projects?: DeployKeyProjectsSchema[]; } declare class Keys extends BaseResource { show({ keyId, fingerprint, ...options }?: OneOf<{ keyId: number; fingerprint: string; }> & Sudo & ShowExpanded): Promise>; } interface LicenseSchema extends Record { id: number; plan: string; created_at: string; starts_at: string; expires_at: string; historical_max: number; maximum_user_count: number; expired: boolean; overage: number; user_limit: number; active_users: number; licensee: { Name: string; }; add_ons: { GitLab_FileLocks: number; GitLab_Auditor_User: number; }; } declare class License extends BaseResource { add(license: string, options?: Sudo & ShowExpanded): Promise>; all(options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; show(options?: Sudo & ShowExpanded): Promise>; remove(licenceId: number, options?: Sudo & ShowExpanded): Promise>; recalculateBillableUsers(licenceId: number, options?: Sudo & ShowExpanded): Promise>; } interface LicenseTemplateSchema extends Record { key: string; name: string; nickname?: string; featured: boolean; html_url: string; source_url: string; description: string; conditions?: string[]; permissions?: string[]; limitations?: string[]; content: string; } interface LicenseTemplates extends ResourceTemplates { all(options?: { popular?: boolean; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; show(key: string | number, options?: { project?: string; fullName?: string; } & Sudo & ShowExpanded): Promise>; } declare class LicenseTemplates extends ResourceTemplates { constructor(options: BaseResourceOptions); } interface LintSchema extends Record { valid: boolean; merged_yaml?: string; errors?: string[]; warnings?: string[]; } declare class Lint extends BaseResource { check(projectId: string | number, options: { ref?: string; includeJobs?: boolean; dryRun?: boolean; } & Sudo & ShowExpanded): Promise>; lint(projectId: string | number, content: string, options?: { ref?: string; includeJobs?: boolean; dryRun?: boolean; } & Sudo & ShowExpanded): Promise>; } interface MarkdownSchema extends Record { html: string; } declare class Markdown extends BaseResource { render(text: string, options?: { gfm?: string; project?: string | number; } & Sudo & ShowExpanded): Promise>; } declare class Maven extends BaseResource { downloadPackageFile(path: string, filename: string, { projectId, groupId, ...options }: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & ShowExpanded): Promise>; uploadPackageFile(projectId: string | number, path: string, packageFile: { content: Blob; filename: string; }, options?: ShowExpanded): Promise>; } interface MetadataSchema extends Record { version: string; revision: string; kas: { enabled: boolean; externalUrl: string; version: string; }; enterprise: boolean; } declare class Metadata extends BaseResource { show(options?: Sudo & ShowExpanded): Promise>; } type MigrationStatus = 'created' | 'started' | 'finished' | 'failed'; interface MigrationEntityFailure { pipeline_class: string; pipeline_step: string; exception_class: string; correlation_id_value: string; created_at: string; } interface MigrationEntitySchema extends Record { id: number; bulk_import_id: number; status: string; source_full_path: string; destination_name: string; destination_namespace: string; parent_id?: number; namespace_id: number; project_id?: string | number; created_at: string; updated_at: string; failures?: MigrationEntityFailure[]; } interface MigrationStatusSchema extends Record { id: number; status: string; source_type: string; created_at: string; updated_at: string; } type MigrationEntityOptions = { sourceType: string; sourceFullPath: string; destinationSlug: string; destinationNamespace: string; }; declare class Migrations extends BaseResource { all(options?: { status?: MigrationStatus; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(configuration: { url: string; access_token: string; }, entities: MigrationEntityOptions[], options?: Sudo & ShowExpanded): Promise>; allEntities({ bulkImportId, ...options }?: { status?: MigrationStatus; bulkImportId?: number; } & PaginationRequestOptions<'offset'> & Sudo & ShowExpanded): Promise>; show(bulkImportId: number, options?: Sudo & ShowExpanded): Promise>; showEntity(bulkImportId: number, entitityId: number, options?: Sudo & ShowExpanded): Promise>; } interface NPMVersionSchema { name: string; version: string; dist: { shasum: string; tarball: string; }; } interface NPMPackageMetadataSchema extends Record { name: string; versions: { [version: string]: NPMVersionSchema; }; 'dist-tags': { [tag: string]: string; }; } declare class NPM extends BaseResource { downloadPackageFile(projectId: string | number, packageName: string, filename: string, options?: ShowExpanded): Promise>; removeDistTag(packageName: string, tag: string, options?: { projectId?: string | number; } & ShowExpanded): Promise>; setDistTag(packageName: string, tag: string, options?: { projectId?: string | number; } & ShowExpanded): Promise>; showDistTags(packageName: string, options?: { projectId?: string | number; } & ShowExpanded): Promise, C, E, void>>; showMetadata(packageName: string, options?: { projectId?: string | number; } & ShowExpanded): Promise>; uploadPackageFile(projectId: string | number, packageName: string, versions: string, metadata: Record, options?: ShowExpanded): Promise, C, E, void>>; } type NotificationSettingLevel = 'disabled' | 'participating' | 'watch' | 'global' | 'mention' | 'custom'; type CustomSettingLevelEmailEvents = 'new_note' | 'new_issue' | 'reopen_issue' | 'close_issue' | 'reassign_issue' | 'issue_due' | 'new_merge_request' | 'push_to_merge_request' | 'reopen_merge_request' | 'close_merge_request' | 'reassign_merge_request' | 'merge_merge_request' | 'failed_pipeline' | 'fixed_pipeline' | 'success_pipeline' | 'moved_project' | 'merge_when_pipeline_succeeds' | 'new_epic '; interface NotificationSettingSchema extends Record { level: NotificationSettingLevel; notification_email?: string; } type EditNotificationSettingsOptions = { level?: string; notificationEmail?: string; newNote?: boolean; newIssue?: boolean; reopenIssue?: boolean; closeIssue?: boolean; reassignIssue?: boolean; issueDue?: boolean; newMergeRequest?: boolean; pushToMergeRequest?: boolean; reopenMergeRequest?: boolean; closeMergeRequest?: boolean; reassignMergeRequest?: boolean; mergeMergeRequest?: boolean; failedPipeline?: boolean; fixedPipeline?: boolean; successPipeline?: boolean; movedProject?: boolean; mergeWhenPipelineSucceeds?: boolean; newEpic?: boolean; }; declare class NotificationSettings extends BaseResource { edit({ groupId, projectId, ...options }?: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & EditNotificationSettingsOptions & Sudo & ShowExpanded): Promise>; show({ groupId, projectId, ...options }?: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & Sudo & ShowExpanded): Promise>; } interface NuGetPackageIndexSchema extends Record { versions: string[]; } interface NuGetResourceSchema extends Record { '@id': string; '@type': string; comment: string; } interface NuGetServiceIndexSchema extends Record { version: string; resources: NuGetResourceSchema[]; } interface NuGetServiceMetadataVersionSchema extends Record { '@id': string; packageContent: string; catalogEntry: { '@id': string; authors: string; dependencyGroups: unknown[]; id: string; version: string; tags: string; packageContent: string; summary: string; }; } interface NuGetServiceMetadataItemSchema extends Record { '@id': string; lower: string; upper: string; count: number; items: NuGetServiceMetadataVersionSchema; } interface NuGetServiceMetadataSchema extends Record { count: number; items: NuGetServiceMetadataItemSchema[]; resources: NuGetResourceSchema[]; } interface NuGetSearchResultSchema extends Record { '@type': string; authors: string; id: string; title: string; version: string; verified: boolean; summary: string; totalDownloads: number; versions: { '@id': string; version: string; download: number; }[]; } interface NuGetSearchResultsSchema extends Record { totalHits: number; data: NuGetSearchResultSchema[]; } declare class NuGet extends BaseResource { downloadPackageFile(projectId: string | number, packageName: string, packageVersion: string, filename: string, options?: ShowExpanded): Promise>; search(q: string, { projectId, groupId, ...options }: OneOf<{ projectId: string | number; groupId: string | number; }> & { skip?: number; take?: number; prerelease?: boolean; } & ShowExpanded): Promise>; showMetadata(packageName: string, { projectId, groupId, ...options }: OneOf<{ projectId: string | number; groupId: string | number; }> & ShowExpanded): Promise>; showPackageIndex(projectId: string | number, packageName: string, options?: ShowExpanded): Promise>; showServiceIndex({ projectId, groupId, ...options }: OneOf<{ projectId: string | number; groupId: string | number; }> & ShowExpanded): Promise>; showVersionMetadata(packageName: string, packageVersion: string, { projectId, groupId, ...options }: OneOf<{ projectId: string | number; groupId: string | number; }> & ShowExpanded): Promise>; uploadPackageFile(projectId: string | number, packageName: string, packageVersion: string, packageFile: { content: Blob; filename: string; }, options?: ShowExpanded): Promise>; uploadSymbolPackage(projectId: string | number, packageName: string, packageVersion: string, packageFile: { content: Blob; filename: string; }, options?: ShowExpanded): Promise>; } declare class PyPI extends BaseResource { downloadPackageFile(sha: string, fileIdentifier: string, { projectId, groupId, ...options }?: OneOf<{ projectId: string | number; groupId: string | number; }> & ShowExpanded): Promise>; showPackageDescriptor(packageName: string, { projectId, groupId, ...options }: OneOf<{ projectId: string | number; groupId: string | number; }> & ShowExpanded): Promise>; uploadPackageFile(projectId: string | number, packageFile: { content: Blob; filename: string; }, options?: ShowExpanded): Promise>; } declare class RubyGems extends BaseResource { allDependencies(projectId: string, options?: { gems?: string; } & ShowExpanded): Promise>; downloadGemFile(projectId: string, fileName: string, options?: ShowExpanded): Promise>; uploadGemFile(projectId: string | number, packageFile: { content: Blob; filename: string; }, options?: ShowExpanded): Promise>; } type SnippetVisibility = 'private' | 'public' | 'internal'; interface SimpleSnippetSchema extends Record { id: number; title: string; file_name: string; description?: string; author: MappedOmit; updated_at: string; created_at: string; project_id?: string | number; web_url: string; } interface SnippetSchema extends SimpleSnippetSchema { visibility: SnippetVisibility; raw_url: string; } interface ExpandedSnippetSchema extends SnippetSchema { expires_at?: string; ssh_url_to_repo: string; http_url_to_repo: string; files?: { path: string; raw_url: string; }[]; } type CreateSnippetOptions = { description?: string; visibility?: SnippetVisibility; files?: { content: string; filePath: string; }[]; }; type EditSnippetOptions = { description?: string; visibility?: SnippetVisibility; files?: { content?: string; filePath?: string; previousPath?: string; action: 'create' | 'update' | 'delete' | 'move'; }[]; }; declare class Snippets extends BaseResource { all({ public: ppublic, ...options }?: { public?: boolean; createdAfter?: string; createdBefore?: string; } & Sudo & ShowExpanded): Promise>; create(title: string, options?: CreateSnippetOptions & Sudo & ShowExpanded): Promise, E, undefined>>; edit(snippetId: number, options?: EditSnippetOptions & Sudo & ShowExpanded): Promise, E, undefined>>; remove(snippetId: number, options?: Sudo & ShowExpanded): Promise>; show(snippetId: number, options?: Sudo & ShowExpanded): Promise>; showContent(snippetId: number, options?: Sudo & ShowExpanded): Promise>; showRepositoryFileContent(snippetId: number, ref: string, filePath: string, options?: Sudo & ShowExpanded): Promise>; showUserAgentDetails(snippetId: number, options?: Sudo & ShowExpanded): Promise, E, undefined>>; } interface BlobSchema extends Record { id: number; basename: string; data: string; path: string; filename: string; ref: string; startline: number; project_id: number; } type SearchScopes = 'projects' | 'issues' | 'merge_requests' | 'milestones' | 'snippet_titles' | 'wiki_blobs' | 'commits' | 'blobs' | 'notes' | 'users'; type AllSearchOptions = { orderBy?: 'created_at'; state?: 'issues' | 'merge_requests'; confidential?: boolean; }; declare class Search extends BaseResource { all(scope: 'users', search: string, options?: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & AllSearchOptions & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; all(scope: 'notes', search: string, options?: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & AllSearchOptions & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; all(scope: 'blobs', search: string, options?: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & AllSearchOptions & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; all(scope: 'commits', search: string, options?: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & AllSearchOptions & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; all(scope: 'wiki_blobs', search: string, options?: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & AllSearchOptions & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; all(scope: 'snippet_titles', search: string, options?: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & AllSearchOptions & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; all(scope: 'milestones', search: string, options?: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & AllSearchOptions & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; all(scope: 'merge_requests', search: string, options?: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & AllSearchOptions & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; all(scope: 'issues', search: string, options?: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & AllSearchOptions & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; all(scope: 'projects', search: string, options?: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & AllSearchOptions & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; } interface SearchMigrationSchema extends Record { version: number; name: string; started_at: string; completed_at: string; completed: boolean; obsolete: boolean; migration_state: { task_id: string | null; pause_indexing?: boolean; slice?: number; max_slices?: number; retry_attempt?: number; permutation_idx?: number; documents_remaining?: number; documents_remaining_for_permutation?: number; }; } declare class SearchAdmin extends BaseResource { all(options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; show(versionOrName: string, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; } interface ServiceAccountSchema extends Record { id: number; name: string; username: string; state: string; locked: boolean; avatar_url: string; web_url: string; } declare class ServiceAccounts extends BaseResource { create(options?: Sudo & ShowExpanded): Promise>; } declare class ServiceData extends BaseResource { showMetricDefinitions(options?: Sudo & ShowExpanded): Promise>; showServicePingSQLQueries(options?: Sudo & ShowExpanded): Promise, C, E, void>>; showUsageDataNonSQLMetrics(options?: Sudo & ShowExpanded): Promise, C, E, void>>; } interface ProcessMetricSchema { hostname: string; pid: number; tag: string; started_at: string; queues?: string[]; labels?: string[]; concurrency: number; busy: number; } interface SidekickProcessMetricsSchema extends Record { processes?: ProcessMetricSchema[]; } interface SidekickQueueMetricsSchema extends Record { queues: { default: { backlog: number; latency: number; }; }; } interface SidekickJobStatsSchema extends Record { jobs: { processed: number; failed: number; enqueued: number; dead: number; }; } type SidekickCompoundMetricsSchema = SidekickJobStatsSchema & SidekickQueueMetricsSchema & SidekickProcessMetricsSchema; declare class SidekiqMetrics extends BaseResource { queueMetrics(): Promise>; processMetrics(): Promise>; jobStats(): Promise>; compoundMetrics(): Promise>; } interface SidekiqQueueStatus extends Record { completed: boolean; deleted_jobs: number; queue_size: number; } type RemoveSidekiqQueueOptions = { user?: string; project?: string; rootNamespace?: string; subscriptionPlan?: string; callerId?: string; featureCategory?: string; workerClass?: string; }; declare class SidekiqQueues extends BaseResource { remove(queueName: string, options?: RemoveSidekiqQueueOptions & Sudo & ShowExpanded): Promise>; } interface SnippetRepositoryStorageMoveSchema extends RepositoryStorageMoveSchema { snippet: Pick; } interface SnippetRepositoryStorageMoves extends ResourceRepositoryStorageMoves { all(options?: { snippetId?: string | number; } & PaginationRequestOptions

& BaseRequestOptions): Promise>; show(repositoryStorageId: number, options?: { snippetId?: string | number; } & Sudo & ShowExpanded): Promise>; schedule(sourceStorageName: string, options?: { snippetId?: string | number; destinationStorageName?: string; } & Sudo & ShowExpanded): Promise>; } declare class SnippetRepositoryStorageMoves extends ResourceRepositoryStorageMoves { constructor(options: BaseResourceOptions); } interface SuggestionSchema extends Record { id: number; from_line: number; to_line: number; appliable: boolean; applied: boolean; from_content: string; to_content: string; } declare class Suggestions extends BaseResource { edit(suggestionId: number, options?: { commitMessage?: string; } & Sudo & ShowExpanded): Promise>; editBatch(suggestionIds: number[], options?: { commitMessage?: string; } & Sudo & ShowExpanded): Promise>; } interface SystemHookTestResponse extends Record { project_id: number; owner_email: string; owner_name: string; name: string; path: string; event_name: string; } interface CreateSystemHook { token?: string; pushEvents?: boolean; tagPushEvents?: boolean; mergeRequestsEvents?: boolean; repositoryUpdateEvents?: boolean; enableSslVerification?: boolean; } declare class SystemHooks extends BaseResource { all(options?: Sudo & ShowExpanded): Promise>; add(url: string, options?: CreateSystemHook & Sudo & ShowExpanded): Promise>; create(url: string, options?: CreateSystemHook & Sudo & ShowExpanded): Promise>; test(hookId: number, options?: Sudo & ShowExpanded): Promise>; remove(hookId: number, options?: Sudo & ShowExpanded): Promise>; show(hookId: number, options?: Sudo & ShowExpanded): Promise>; } interface TopicSchema extends Record { id: number; name: string; description: string; total_projects_count: number; avatar_url: string; } declare class Topics extends BaseResource { all(options?: { search?: string; withoutProjects?: boolean; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(name: string, { avatar, ...options }?: { avatar?: { content: Blob; filename: string; }; description?: string; } & Sudo & ShowExpanded): Promise>; edit(topicId: number, { avatar, ...options }?: { name?: string; title?: string; avatar?: { content: Blob; filename: string; }; description?: string; } & Sudo & ShowExpanded): Promise>; merge(sourceTopicId: number, targetTopicId: number, options?: Sudo & ShowExpanded): Promise>; remove(topicId: number, options?: Sudo & ShowExpanded): Promise>; show(topicId: number, options?: Sudo & ShowExpanded): Promise>; } interface BranchSchema extends Record { name: string; merged: boolean; protected: boolean; default: boolean; developers_can_push: boolean; developers_can_merge: boolean; can_push: boolean; web_url: string; commit: MappedOmit; } declare class Branches extends BaseResource { all(projectId: string | number, options?: { search?: string; regex?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(projectId: string | number, branchName: string, ref: string, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, branchName: string, options?: Sudo & ShowExpanded): Promise>; removeMerged(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, branchName: string, options?: Sudo & ShowExpanded): Promise>; } interface CommitDiscussions extends ResourceDiscussions { addNote(projectId: string | number, commitId: string, discussionId: string, noteId: number, body: string, options?: { createdAt?: string; } & Sudo & ShowExpanded): Promise>; all(projectId: string | number, commitId: string, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(projectId: string | number, commitId: string, body: string, options?: { position?: DiscussionNotePositionOptions; commitId?: string; createdAt?: string; } & Sudo & ShowExpanded): Promise>; editNote(projectId: string | number, commitId: string, discussionId: string, noteId: number, options?: Sudo & ShowExpanded & { body?: string; }): Promise>; removeNote(projectId: string | number, commitId: string, discussionId: string, noteId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, commitId: string, discussionId: string, options?: Sudo & ShowExpanded): Promise>; } declare class CommitDiscussions extends ResourceDiscussions { constructor(options: BaseResourceOptions); } interface RegistryRepositoryTagSchema extends Record { name: string; path: string; location: string; revision: string; short_revision: string; digest: string; created_at: string; total_size: number; } type CondensedRegistryRepositoryTagSchema = Pick; interface RegistryRepositorySchema extends Record { id: number; name: string; path: string; project_id: number; location: string; created_at: string; cleanup_policy_started_at: string; tags_count?: number; tags?: Pick[]; } type CondensedRegistryRepositorySchema = MappedOmit; declare class ContainerRegistry extends BaseResource { allRepositories({ groupId, projectId, ...options }?: OneOf<{ projectId: string | number; groupId: string | number; }> & { tags?: boolean; tagsCount?: boolean; } & PaginationRequestOptions

& BaseRequestOptions): Promise>; allTags(projectId: string | number, repositoryId: number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; editRegistryVisibility(projectId: string | number, options?: { containerRegistryAccessLevel: 'enabled' | 'private' | 'disabled'; } & Sudo & ShowExpanded): Promise, C>, E, undefined>>; removeRepository(projectId: string | number, repositoryId: number, options?: Sudo & ShowExpanded): Promise>; removeTag(projectId: string | number, repositoryId: number, tagName: string, options?: Sudo & ShowExpanded): Promise>; removeTags(projectId: string | number, repositoryId: number, nameRegexDelete: string, options?: Sudo & { nameRegex?: string; nameRegexKeep?: string; keepN?: string; olderThan?: string; } & ShowExpanded): Promise>; showRepository(repositoryId: number, options?: { tags?: boolean; tagsCount?: boolean; size?: boolean; } & Sudo & ShowExpanded): Promise>; showTag(projectId: string | number, repositoryId: number, tagName: string, options?: Sudo & ShowExpanded): Promise>; } type JobScope = 'created' | 'pending' | 'running' | 'failed' | 'success' | 'canceled' | 'skipped' | 'manual'; interface ArtifactSchema extends Record { file_type: string; size: number; filename: string; file_format?: string; } interface CondensedJobSchema extends Record { id: number; name: string; stage: string; project_id: string | number; project_name: string; } interface JobSchema extends Record { id: number; name: string; stage: string; status: string; ref: string; tag: boolean; coverage?: string; allow_failure: boolean; created_at: string; started_at?: string; finished_at?: string; failure_reason?: string; erased_at?: string; duration?: number; user: ExpandedUserSchema; commit: CondensedCommitSchema; pipeline: PipelineSchema; web_url: string; artifacts: ArtifactSchema[]; queued_duration: number; artifacts_file: { filename: string; size: number; }; runner: RunnerSchema; artifacts_expire_at?: string; tag_list?: string[]; project?: { ci_job_token_scope_enabled?: boolean; }; } interface BridgeSchema extends Record { commit: CondensedCommitSchema; coverage?: string; allow_failure: boolean; created_at: string; started_at: string; finished_at: string; erased_at?: string; duration: number; queued_duration: number; id: number; name: string; pipeline: MappedOmit; ref: string; stage: string; status: string; tag: boolean; web_url: string; user: ExpandedUserSchema; downstream_pipeline: MappedOmit; } interface AllowedAgentSchema extends Record { id: number; config_project: MappedOmit; } interface JobKubernetesAgentsSchema extends Record { allowed_agents: AllowedAgentSchema[]; job: CondensedJobSchema; pipeline: PipelineSchema; project: MappedOmit; user: UserSchema; } interface JobVariableAttributeOption extends Record { key: string; value: string; } declare class Jobs extends BaseResource { all(projectId: string | number, { pipelineId, ...options }?: { pipelineId?: number; scope?: JobScope; includeRetried?: boolean; } & BaseRequestOptions & PaginationRequestOptions

): Promise>; allPipelineBridges(projectId: string | number, pipelineId: number, options?: { scope?: JobScope; } & Sudo & ShowExpanded): Promise>; cancel(projectId: string | number, jobId: number, options?: Sudo & ShowExpanded): Promise>; erase(projectId: string | number, jobId: number, options?: Sudo & ShowExpanded): Promise>; play(projectId: string | number, jobId: number, options?: { jobVariablesAttributes: JobVariableAttributeOption[]; } & Sudo & ShowExpanded): Promise>; retry(projectId: string | number, jobId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, jobId: number, options?: Sudo & ShowExpanded): Promise>; showConnectedJob(options?: Sudo & ShowExpanded): Promise>; showConnectedJobK8Agents(options?: Sudo & ShowExpanded): Promise>; showLog(projectId: string | number, jobId: number, options?: Sudo & ShowExpanded): Promise>; } interface RunnerToken extends Record { id: number; token: string; token_expires_at: string; } interface RunnerSchema extends Record { id: number; paused: boolean; description: string; ip_address: string; is_shared: boolean; runner_type: 'instance_type' | 'group_type' | 'project_type'; name: string; online: boolean; status: 'online' | 'offline'; } interface ExpandedRunnerSchema extends RunnerSchema { architecture: string | null; description: string; contacted_at: string; platform: string | null; projects: Pick[]; groups: CondensedGroupSchema[]; revision: string | null; tag_list: string[] | null; version: string | null; access_level: string; maximum_timeout: number | null; run_untagged: boolean; locked: boolean; } type AllRunnersOptions = { type?: 'instance_type' | 'group_type' | 'project_type'; status?: 'online' | 'offline' | 'stale' | 'never_contacted' | 'active' | 'paused'; paused?: boolean; tagList?: string[]; }; type EditRunnerOptions = { description?: string; active?: boolean; paused?: boolean; tagList?: string[]; runUntagged?: boolean; locked?: boolean; accessLevel?: 'not_protected' | 'ref_protected'; maximumTimeout?: number; }; type CreateRunnerOptions = { info?: Record; description?: string; active?: boolean; paused?: boolean; tagList?: string[]; runUntagged?: boolean; locked?: boolean; accessLevel?: 'not_protected' | 'ref_protected'; maximumTimeout?: number; maintainerNote?: string; maintenanceNote?: string; }; declare class Runners extends BaseResource { all({ projectId, groupId, owned, ...options }?: OneOrNoneOf<{ projectId: string | number; owned: boolean; groupId: string | number; }> & AllRunnersOptions & BaseRequestOptions & PaginationRequestOptions

): Promise>; allJobs(runnerId: number, options?: Sudo & ShowExpanded & { status?: string; orderBy?: string; sort?: string; }): Promise>; create(token: string, options?: CreateRunnerOptions & Sudo & ShowExpanded): Promise>; edit(runnerId: number, options?: EditRunnerOptions & Sudo & ShowExpanded): Promise>; enable(projectId: string | number, runnerId: number, options?: Sudo & ShowExpanded): Promise>; disable(projectId: string | number, runnerId: number, options?: Sudo & ShowExpanded): Promise>; register(token: string, options?: CreateRunnerOptions & Sudo & ShowExpanded): Promise>; remove({ runnerId, token, ...options }: OneOf<{ runnerId: number; token: string; }> & Sudo & ShowExpanded): Promise>; resetRegistrationToken({ runnerId, token, ...options }?: OneOrNoneOf<{ runnerId: string; token: string; }> & Sudo & ShowExpanded): Promise>; show(runnerId: number, options?: Sudo & ShowExpanded): Promise>; verify(options?: { systemId?: string; } & Sudo & ShowExpanded): Promise>; } type EnvironmentTier = 'production' | 'staging' | 'testing' | 'development' | 'other'; interface EnvironmentSchema extends Record { id: number; name: string; slug: string; external_url: string; state: string; tier: EnvironmentTier; created_at: string; updated_at: string; enable_advanced_logs_querying: boolean; logs_api_path: string; last_deployment: DeploymentSchema; deployable: DeployableSchema; } type CondensedEnvironmentSchema = MappedOmit; type ReviewAppSchema = MappedOmit; declare class Environments extends BaseResource { all(projectId: string | number, options?: PaginationRequestOptions

& OneOrNoneOf<{ name: string; search: string; }> & { states?: 'available' | 'stopping' | 'stopped'; } & Sudo & ShowExpanded): Promise>; create(projectId: string | number, name: string, options?: { externalUrl?: string; tier?: EnvironmentTier; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, environmentId: number, options?: { externalUrl?: string; tier?: EnvironmentTier; } & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, environmentId: number, options?: Sudo & ShowExpanded): Promise>; removeReviewApps(projectId: string | number, options?: { before?: string; limit?: number; dryRun?: boolean; } & Sudo & ShowExpanded): Promise>; show(projectId: string | number, environmentId: number, options?: Sudo & ShowExpanded): Promise>; stop(projectId: string | number, environmentId: number, options?: { force?: string; } & Sudo & ShowExpanded): Promise>; stopStale(projectId: string | number, before: string, options?: Sudo & ShowExpanded): Promise>; } type DeploymentStatus = 'created' | 'running' | 'success' | 'failed' | 'canceled'; interface DeployableSchema extends Record { id: number; ref: string; name: string; runner?: RunnerSchema; stage?: string; started_at?: string; status?: DeploymentStatus; tag: boolean; commit?: CommitSchema; coverage?: string; created_at?: string; finished_at?: string; user?: UserSchema; pipeline?: PipelineSchema; } interface DeploymentApprovalStatusSchema extends Record { user: UserSchema; status: 'approved' | 'rejected'; created_at: string; comment: string; } interface DeploymentSchema extends Record { id: number; iid: number; ref: string; sha: string; created_at: string; updated_at: string; status: DeploymentStatus; user: UserSchema; deployable: DeployableSchema; environment: EnvironmentSchema; pending_approval_count?: number; approvals?: DeploymentApprovalStatusSchema[]; } type AllDeploymentsOptions = { orderBy?: 'id' | 'iid' | 'created_at' | 'updated_at' | 'ref'; sort?: 'asc' | 'desc'; updatedAfter?: string; updatedBefore?: string; environment?: string; status?: 'created' | 'running' | 'success' | 'failed' | 'canceled' | 'blocked'; }; declare class Deployments extends BaseResource { all(projectId: string | number, options?: AllDeploymentsOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allMergeRequests(projectId: string | number, deploymentId: number, options?: AllMergeRequestsOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(projectId: string | number, environment: string, sha: string, ref: string, tag: string, options?: { status?: 'running' | 'success' | 'failed' | 'canceled'; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, deploymentId: number, status: 'running' | 'success' | 'failed' | 'canceled', options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, deploymentId: number, options?: Sudo & ShowExpanded): Promise>; setApproval(projectId: string | number, deploymentId: number, status: 'approved' | 'rejected', options?: { comment?: string; representedAs?: string; } & Sudo & ShowExpanded): Promise>; show(projectId: string | number, deploymentId: number, options?: Sudo & ShowExpanded): Promise>; } interface ErrorTrackingClientKeySchema extends Record { id: number; active: boolean; public_key: string; sentry_dsn: string; } declare class ErrorTrackingClientKeys extends BaseResource { all(projectId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; } interface ErrorTrackingSettingsSchema extends Record { active: boolean; project_name: string; sentry_external_url: string; api_url: string; integrated: boolean; } declare class ErrorTrackingSettings extends BaseResource { create(projectId: string | number, active: boolean, integrated: boolean, options?: Sudo & ShowExpanded): Promise>; edit(projectId: string | number, active: boolean, { integrated, ...options }?: { integrated?: boolean; } & Sudo & ShowExpanded): Promise>; show(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; } interface BaseExternalStatusCheckSchema extends Record { id: number; name: string; external_url: string; status: string; } type MergeRequestExternalStatusCheckSchema = BaseExternalStatusCheckSchema; interface ExternalStatusCheckProtectedBranchesSchema { id: number; project_id: number; name: string; created_at: string; updated_at: string; code_owner_approval_required: boolean; } interface ProjectExternalStatusCheckSchema extends BaseExternalStatusCheckSchema { project_id: number; protected_branches?: ExternalStatusCheckProtectedBranchesSchema[]; } declare class ExternalStatusChecks extends BaseResource { all(projectId: string | number, options: { mergerequestIId: number; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; all(projectId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(projectId: string | number, name: string, externalUrl: string, options?: { protectedBrancheIds: number[]; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, externalStatusCheckId: number, options?: { protectedBrancheIds?: number[]; externalUrl?: string; name?: string; } & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, externalStatusCheckId: number, options?: Sudo & ShowExpanded): Promise>; set(projectId: string | number, mergerequestIId: number, sha: string, externalStatusCheckId: number, options?: { status?: 'passed' | 'failed'; } & Sudo & ShowExpanded): Promise>; } interface FeatureFlagUserListSchema extends Record { name: string; user_xids: string; id: number; iid: number; project_id: string | number; created_at: string; updated_at: string; } declare class FeatureFlagUserLists extends BaseResource { all(projectId: string | number, options?: { search?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(projectId: string | number, name: string, userXids: string, options?: Sudo & ShowExpanded): Promise>; edit(projectId: string | number, featureFlagUserListIId: string | number, options?: { name?: string; userXIds?: string; } & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, featureFlagUserListIId: string | number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, featureFlagUserListIId: string | number, options?: Sudo & ShowExpanded): Promise>; } interface FeatureFlagStrategyScopeSchema { id: number; environment_scope: string; } interface FeatureFlagStrategySchema { id: number; name: string; parameters: Record; scopes?: FeatureFlagStrategyScopeSchema[]; } interface FeatureFlagSchema extends Record { name: string; description: string; active: boolean; version: string; created_at: string; updated_at: string; scopes?: string[]; strategies?: FeatureFlagStrategySchema[]; } type CreateFeatureFlagOptions = { description?: string; active?: boolean; strategies?: { name: string; parameters?: Record; scopes?: MappedOmit[]; }; }; type EditFeatureFlagOptions = { description?: string; active?: boolean; strategies?: { id: string; name?: string; _destroy?: boolean; parameters?: Record; scopes?: (FeatureFlagStrategyScopeSchema & { _destroy?: boolean; })[]; }; }; declare class FeatureFlags extends BaseResource { all(projectId: string | number, options?: { scope?: 'enabled' | 'disabled'; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(projectId: string | number, flagName: string, version: string, options?: CreateFeatureFlagOptions & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, featureFlagName: string, options?: EditFeatureFlagOptions & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, flagName: string, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, flagName: string, options?: Sudo & ShowExpanded): Promise>; } interface FreezePeriodSchema extends Record { id: number; freeze_start: string; freeze_end: string; cron_timezone: string; created_at: string; updated_at: string; } declare class FreezePeriods extends BaseResource { all(projectId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(projectId: string | number, freezeStart: string, freezeEnd: string, options?: { cronTimezone?: string; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, freezePeriodId: number, options?: { freezeStart?: string; freezeEnd?: string; cronTimezone?: string; } & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, freezePeriodId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, freezePeriodId: number, options?: Sudo & ShowExpanded): Promise>; } declare class GitlabPages extends BaseResource { remove(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; } interface GoProxyModuleVersionSchema extends Record { Version: string; Time: string; } declare class GoProxy extends BaseResource { all(projectId: string | number, moduleName: string, options?: ShowExpanded): Promise>; showVersionMetadata(projectId: string | number, moduleName: string, moduleVersion: string, options?: ShowExpanded): Promise>; downloadModuleFile(projectId: string | number, moduleName: string, moduleVersion: string, options?: ShowExpanded): Promise>; downloadModuleSource(projectId: string | number, moduleName: string, moduleVersion: string, options?: ShowExpanded): Promise>; } declare class Helm extends BaseResource { downloadChartIndex(projectId: string | number, channel: string, options?: Sudo & ShowExpanded): Promise>; downloadChart(projectId: string | number, channel: string, filename: string, options?: Sudo & ShowExpanded): Promise>; import(projectId: string | number, channel: string, chart: { content: Blob; filename: string; }, options?: Sudo & ShowExpanded): Promise>; } type SupportedIntegration = 'asana' | 'assembla' | 'bamboo' | 'bugzilla' | 'buildkite' | 'campfire' | 'custom-issue-tracker' | 'drone-ci' | 'emails-on-push' | 'external-wiki' | 'flowdock' | 'hangouts_chat' | 'hipchat' | 'irker' | 'jira' | 'kubernetes' | 'slack-slash-commands' | 'slack' | 'packagist' | 'pipelines-email' | 'pivotaltracker' | 'prometheus' | 'pushover' | 'redmine' | 'microsoft-teams' | 'mattermost' | 'mattermost-slash-commands' | 'teamcity' | 'jenkins' | 'jenkins-deprecated' | 'mock-ci' | 'youtrack'; interface IntegrationSchema extends Record { id: number; title: string; slug: string; created_at: string; updated_at: string; active: boolean; commit_events: boolean; push_events: boolean; issues_events: boolean; confidential_issues_events: boolean; merge_requests_events: boolean; tag_push_events: boolean; note_events: boolean; confidential_note_events: boolean; pipeline_events: boolean; wiki_page_events: boolean; job_events: boolean; comment_on_event_enabled: boolean; } declare class Integrations extends BaseResource { all(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; edit(projectId: string | number, integrationName: SupportedIntegration, options?: BaseRequestOptions): Promise>; disable(projectId: string | number, integrationName: SupportedIntegration, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, integrationName: SupportedIntegration, options?: Sudo & ShowExpanded): Promise>; } interface IssueAwardEmojis extends ResourceAwardEmojis { all(projectId: string | number, issueIId: number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; award(projectId: string | number, issueIId: number, name: string, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, issueIId: number, awardId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, issueIId: number, awardId: number, options?: Sudo & ShowExpanded): Promise>; } declare class IssueAwardEmojis extends ResourceAwardEmojis { constructor(options: BaseResourceOptions); } interface IssueDiscussions extends ResourceDiscussions { addNote(projectId: string | number, issueIId: number, discussionId: string, noteId: number, body: string, options?: { createdAt?: string; } & Sudo & ShowExpanded): Promise>; all(projectId: string | number, issueIId: number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(projectId: string | number, issueIId: number, body: string, options?: { createdAt?: string; } & Sudo & ShowExpanded): Promise>; editNote(projectId: string | number, issueIId: number, discussionId: string, noteId: number, options: Sudo & ShowExpanded & { body: string; }): Promise>; removeNote(projectId: string | number, issueIId: number, discussionId: string, noteId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, issueIId: number, discussionId: string, options?: Sudo & ShowExpanded): Promise>; } declare class IssueDiscussions extends ResourceDiscussions { constructor(options: BaseResourceOptions); } interface IssueIterationEvents { all(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; show(projectId: string | number, issueIId: number, iterationEventId: number, options?: Sudo & ShowExpanded): Promise>; } declare class IssueIterationEvents extends ResourceIterationEvents { constructor(options: BaseResourceOptions); } interface IssueLabelEvents { all(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; show(projectId: string | number, issueIId: number, labelEventId: number, options?: Sudo & ShowExpanded): Promise>; } declare class IssueLabelEvents extends ResourceLabelEvents { constructor(options: BaseResourceOptions); } interface IssueLinkSchema extends Record { id: number; iid: number; project_id: number; issue_link_id: number; state: string; description: string; weight?: number; author: MappedOmit; milestone: MilestoneSchema; assignees?: MappedOmit[]; title: string; labels?: string[]; user_notes_count: number; due_date: string; web_url: string; confidential: boolean; updated_at: string; link_created_at: string; link_updated_at: string; link_type: 'relates_to' | 'blocks' | 'is_blocked_by'; } interface ExpandedIssueLinkSchema extends Record { source_issue: MappedOmit; target_issue: MappedOmit; link_type: 'relates_to' | 'blocks' | 'is_blocked_by'; } declare class IssueLinks extends BaseResource { all(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(projectId: string | number, issueIId: number, targetProjectId: string | number, targetIssueIId: number, options?: { linkType?: 'relates_to' | 'blocks' | 'is_blocked_by'; } & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, issueIId: number, issueLinkId: number, options?: { linkType?: 'relates_to' | 'blocks' | 'is_blocked_by'; } & Sudo & ShowExpanded): Promise>; } interface IssueMilestoneEvents { all(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; show(projectId: string | number, issueIId: number, milestoneEventId: number, options?: Sudo & ShowExpanded): Promise>; } declare class IssueMilestoneEvents extends ResourceMilestoneEvents { constructor(options: BaseResourceOptions); } interface IssueNoteAwardEmojis extends ResourceNoteAwardEmojis { all(projectId: string | number, issueIId: number, noteId: number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; award(projectId: string | number, issueIId: number, noteId: number, name: string, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, issueIId: number, noteId: number, awardId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, issueIId: number, noteId: number, awardId: number, options?: Sudo & ShowExpanded): Promise>; } declare class IssueNoteAwardEmojis extends ResourceNoteAwardEmojis { constructor(options: BaseResourceOptions); } interface IssueNoteSchema extends NoteSchema { noteable_type: 'Issue'; } interface IssueNotes extends ResourceNotes { all(projectId: string | number, issueIId: number, options?: { sort?: 'asc' | 'desc'; orderBy?: 'created_at' | 'updated_at'; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(projectId: string | number, issueIId: number, body: string, options?: { internal?: boolean; createdAt?: string; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, issueIId: number, noteId: number, options: { body?: string; } & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, issueIId: number, noteId: number, options?: Sudo): Promise>; show(projectId: string | number, issueIId: number, noteId: number, options?: Sudo & ShowExpanded): Promise>; } declare class IssueNotes extends ResourceNotes { constructor(options: BaseResourceOptions); } interface IssueStateEvents { all(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; show(projectId: string | number, issueIId: number, stateEventId: number, options?: Sudo & ShowExpanded): Promise>; } declare class IssueStateEvents extends ResourceStateEvents { constructor(options: BaseResourceOptions); } interface IssueWeightEvents { all(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; show(projectId: string | number, issueIId: number, weightEventId: number, options?: Sudo & ShowExpanded): Promise>; } declare class IssueWeightEvents extends ResourceStateEvents { constructor(options: BaseResourceOptions); } interface StatisticsSchema extends Record { statistics: { counts: { all: number; closed: number; opened: number; }; }; } type AllIssueStatisticsOptions = { labels?: string; milestone?: string; scope?: 'created_by_me' | 'assigned_to_me' | 'all'; epicId?: number; myReactionEmoji?: string; iids?: number[]; search?: string; in?: string; createdAfter?: string; createdBefore?: string; updatedAfter?: string; updatedBefore?: string; confidential?: boolean; }; declare class IssuesStatistics extends BaseResource { all({ projectId, groupId, ...options }?: OneOrNoneOf<{ projectId: string | number; groupId: string | number; }> & OneOrNoneOf<{ authorId: number; authorUsername: string; }> & OneOrNoneOf<{ assigneeId: number; assigneeUsername: string; }> & AllIssueStatisticsOptions & Sudo & ShowExpanded): Promise>; } declare class JobArtifacts extends BaseResource { downloadArchive(projectId: string | number, { jobId, artifactPath, ref, ...options }?: ({ jobId: number; artifactPath?: undefined; job?: undefined; ref?: undefined; } | { jobId: number; artifactPath: string; job?: undefined; ref?: undefined; } | { ref: string; job: string; jobId?: undefined; artifactPath?: undefined; } | { ref: string; job: string; artifactPath: string; jobId?: undefined; }) & { jobToken?: string; } & Sudo & ShowExpanded): Promise>; keep(projectId: string | number, jobId: number, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, { jobId, ...options }?: { jobId?: number; } & Sudo & ShowExpanded): Promise>; } type ProtectedBranchAccessLevel = AccessLevel.NO_ACCESS | AccessLevel.DEVELOPER | AccessLevel.MAINTAINER | AccessLevel.ADMIN; interface ExtendedProtectedBranchAccessLevelSchema { id: number; access_level: ProtectedBranchAccessLevel; access_level_description: string; user_id?: number | null; group_id?: number | null; } interface ProtectedBranchSchema extends Record { id: number; name: string; push_access_levels?: ExtendedProtectedBranchAccessLevelSchema[]; merge_access_levels?: ExtendedProtectedBranchAccessLevelSchema[]; unprotect_access_levels?: ExtendedProtectedBranchAccessLevelSchema[]; allow_force_push: boolean; code_owner_approval_required: boolean; } type CreateProtectedBranchAllowOptions = OneOf<{ userId: number; groupId: number; accessLevel: ProtectedBranchAccessLevel; }>; type EditProtectedBranchAllowOptions = { _destroy?: boolean; } & ({ userId: number; } | { groupId: number; } | { accessLevel: ProtectedBranchAccessLevel; id: number; }); type CreateProtectedBranchOptions = { allowForcePush?: boolean; allowedToMerge?: CreateProtectedBranchAllowOptions[]; allowedToPush?: CreateProtectedBranchAllowOptions[]; allowedToUnprotect?: CreateProtectedBranchAllowOptions[]; codeOwnerApprovalRequired?: boolean; mergeAccessLevel?: ProtectedBranchAccessLevel; pushAccessLevel?: ProtectedBranchAccessLevel; unprotectAccessLevel?: ProtectedBranchAccessLevel; }; type EditProtectedBranchOptions = { allowForcePush?: boolean; allowedToMerge?: EditProtectedBranchAllowOptions[]; allowedToPush?: EditProtectedBranchAllowOptions[]; allowedToUnprotect?: EditProtectedBranchAllowOptions[]; codeOwnerApprovalRequired?: boolean; }; declare class ProtectedBranches extends BaseResource { all(projectId: string | number, options?: { search?: string; } & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(projectId: string | number, branchName: string, options?: CreateProtectedBranchOptions & Sudo & ShowExpanded): Promise>; protect(projectId: string | number, branchName: string, options?: CreateProtectedBranchOptions & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, branchName: string, options?: EditProtectedBranchOptions & Sudo & ShowExpanded): Promise>; show(projectId: string | number, branchName: string, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, branchName: string, options?: Sudo & ShowExpanded): Promise>; unprotect(projectId: string | number, branchName: string, options?: Sudo & ShowExpanded): Promise>; } interface ProjectLevelMergeRequestApprovalSchema extends Record { approvals_before_merge: number; reset_approvals_on_push: boolean; disable_overriding_approvers_per_merge_request: boolean; merge_requests_author_approval: boolean; merge_requests_disable_committers_approval: boolean; require_password_to_approve: boolean; } interface ApprovedByEntity { user: MappedOmit; } interface MergeRequestLevelMergeRequestApprovalSchema extends Record { id: number; iid: number; project_id: number; title: string; description: string; state: string; created_at: string; updated_at: string; merge_status: string; approvals_required: number; approvals_left: number; approved_by?: ApprovedByEntity[]; } interface ApprovalRuleSchema extends Record { id: number; name: string; rule_type: string; eligible_approvers?: MappedOmit[]; approvals_required: number; users?: MappedOmit[]; groups?: GroupSchema[]; contains_hidden_groups: boolean; overridden: boolean; } interface ProjectLevelApprovalRuleSchema extends ApprovalRuleSchema { protected_branches?: ProtectedBranchSchema[]; } interface MergeRequestLevelApprovalRuleSchema extends ApprovalRuleSchema { source_rule?: string; } interface ApprovalStateSchema extends Record { approval_rules_overwritten: boolean; rules: ({ approved: boolean; } & MergeRequestLevelApprovalRuleSchema)[]; } type CreateApprovalRuleOptions = { userIds?: number[]; groupIds?: number[]; protectedBranchIds?: number[]; appliesToAllProtectedBranches?: boolean; reportType?: string; ruleType?: string; usernames?: string[]; }; type EditApprovalRuleOptions = { userIds?: number[]; groupIds?: number[]; protectedBranchIds?: number[]; appliesToAllProtectedBranches?: boolean; usernames?: string[]; removeHiddenGroups?: boolean; }; type EditConfigurationOptions = { disableOverridingApproversPerMergeRequest?: boolean; mergeRequestsAuthorApproval?: boolean; mergeRequestsDisableCommittersApproval?: boolean; requirePasswordToApprove?: boolean; resetApprovalsOnPush?: boolean; selectiveCodeOwnerRemovals?: boolean; }; declare class MergeRequestApprovals extends BaseResource { allApprovalRules(projectId: string | number, options: { mergerequestIId: number; } & Sudo & ShowExpanded): Promise>; allApprovalRules(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; approve(projectId: string | number, mergerequestIId: number, options?: { sha?: string; approvalPassword?: string; } & Sudo & ShowExpanded): Promise, E, undefined>>; createApprovalRule(projectId: string | number, name: string, approvalsRequired: number, options: { mergerequestIId: number; } & CreateApprovalRuleOptions & Sudo & ShowExpanded): Promise>; createApprovalRule(projectId: string | number, name: string, approvalsRequired: number, options?: CreateApprovalRuleOptions & Sudo & ShowExpanded): Promise>; editApprovalRule(projectId: string | number, approvalRuleId: number, name: string, approvalsRequired: number, options: { mergerequestIId: number; } & EditApprovalRuleOptions & Sudo & ShowExpanded): Promise>; editApprovalRule(projectId: string | number, approvalRuleId: number, name: string, approvalsRequired: number, options?: EditApprovalRuleOptions & Sudo & ShowExpanded): Promise>; editConfiguration(projectId: string | number, options?: EditConfigurationOptions & Sudo & ShowExpanded): Promise>; removeApprovalRule(projectId: string | number, approvalRuleId: number, { mergerequestIId, ...options }?: { mergerequestIId?: number; } & Sudo & ShowExpanded): Promise>; showApprovalRule(projectId: string | number, approvalRuleId: number, options?: Sudo & ShowExpanded): Promise>; showApprovalState(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded): Promise>; showConfiguration(projectId: string | number, options: { mergerequestIId: number; } & Sudo & ShowExpanded): Promise>; showConfiguration(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; unapprove(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded): Promise>; } interface MergeRequestAwardEmojis extends ResourceAwardEmojis { all(projectId: string | number, mergerequestIId: number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; award(projectId: string | number, mergerequestIId: number, name: string, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, mergerequestIId: number, awardId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, mergerequestIId: number, awardId: number, options?: Sudo & ShowExpanded): Promise>; } declare class MergeRequestAwardEmojis extends ResourceAwardEmojis { constructor(options: BaseResourceOptions); } interface MergeRequestContextCommitSchema extends Record { id: string; short_id: string; created_at: string; parent_ids?: null; title: string; message: string; author_name: string; author_email: string; authored_date: string; committer_name: string; committer_email: string; committed_date: string; } declare class MergeRequestContextCommits extends BaseResource { all(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(projectId: string | number, commits: string[], { mergerequestIId, ...options }?: { mergerequestIId?: number; } & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded): Promise>; } interface MergeRequestDiscussionNoteSchema extends DiscussionNoteSchema { resolved_by: string; resolved_at: string; position?: DiscussionNotePositionSchema; } type MergeRequestDiscussionNotePositionOptions = DiscussionNotePositionOptions & { lineRange?: { start?: { lineCode: string; type: 'new' | 'old'; }; end?: { lineCode: string; type: 'new' | 'old'; }; }; }; interface MergeRequestDiscussions extends ResourceDiscussions { addNote(projectId: string | number, mergerequestId: string | number, discussionId: string, noteId: number, body: string, options?: { createdAt?: string; } & Sudo & ShowExpanded): Promise>; all(projectId: string | number, mergerequestId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(projectId: string | number, mergerequestId: string | number, body: string, options?: { position?: DiscussionNotePositionOptions; commitId?: string; createdAt?: string; } & Sudo & ShowExpanded): Promise>; editNote(projectId: string | number, mergerequestId: string | number, discussionId: string, noteId: number, options: Sudo & ShowExpanded & OneOf<{ body: string; resolved: boolean; }>): Promise>; removeNote(projectId: string | number, mergerequestId: string | number, discussionId: string, noteId: number, options?: Sudo & ShowExpanded): Promise>; resolve(projectId: string | number, mergerequestId: string | number, discussionId: string, resolve: boolean, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, mergerequestId: string | number, discussionId: string, options?: Sudo & ShowExpanded): Promise>; } declare class MergeRequestDiscussions extends ResourceDiscussions { constructor(options: BaseResourceOptions); } type MergeRequestDraftNotePositionSchema = DiscussionNotePositionSchema & { line_range?: number; }; interface MergeRequestDraftNoteSchema extends Record { id: number; author_id: number; merge_request_id: number; resolve_discussion: boolean; discussion_id?: number; note: string; commit_id?: number; line_code?: number; position: MergeRequestDraftNotePositionSchema; } declare class MergeRequestDraftNotes extends BaseResource { all(projectId: string | number, mergerequestIId: number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(projectId: string | number, mergerequestIId: number, note: string, options?: { commitId?: string; inReplyToDiscussionId?: number; resolveDiscussion?: boolean; position?: Camelize; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, mergerequestIId: number, draftNoteId: number, options?: { note?: string; position?: Camelize; } & Sudo & ShowExpanded): Promise>; publish(projectId: string | number, mergerequestIId: number, draftNoteId: number, options?: Sudo & ShowExpanded): Promise>; publishBulk(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, mergerequestIId: number, draftNoteId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, mergerequestIId: number, draftNoteId: number, options?: Sudo & ShowExpanded): Promise>; } interface MergeRequestLabelEvents { all(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; show(projectId: string | number, mergerequestIId: number, labelEventId: number, options?: Sudo & ShowExpanded): Promise>; } declare class MergeRequestLabelEvents extends ResourceLabelEvents { constructor(options: BaseResourceOptions); } interface MergeRequestMilestoneEvents { all(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; show(projectId: string | number, mergerequestIId: number, milestoneEventId: number, options?: Sudo & ShowExpanded): Promise>; } declare class MergeRequestMilestoneEvents extends ResourceMilestoneEvents { constructor(options: BaseResourceOptions); } interface MergeRequestNoteAwardEmojis extends ResourceNoteAwardEmojis { all(projectId: string | number, mergeRequestIId: number, noteId: number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; award(projectId: string | number, mergeRequestIId: number, noteId: number, name: string, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, mergeRequestIId: number, noteId: number, awardId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, mergeRequestIId: number, noteId: number, awardId: number, options?: Sudo & ShowExpanded): Promise>; } declare class MergeRequestNoteAwardEmojis extends ResourceNoteAwardEmojis { constructor(options: BaseResourceOptions); } interface MergeRequestNoteSchema extends NoteSchema { noteable_type: 'MergeRequest'; } interface MergeRequestNotes extends ResourceNotes { all(projectId: string | number, mergerequestIId: number, options?: { sort?: 'asc' | 'desc'; orderBy?: 'created_at' | 'updated_at'; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(projectId: string | number, mergerequestIId: number, body: string, options?: { mergeRequestDiffSha?: string; createdAt?: string; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, mergerequestIId: number, noteId: number, options: { body: string; } & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, mergerequestIId: number, noteId: number, options?: Sudo): Promise>; show(projectId: string | number, mergerequestIId: number, noteId: number, options?: Sudo & ShowExpanded): Promise>; } declare class MergeRequestNotes extends ResourceNotes { constructor(options: BaseResourceOptions); } interface MergeTrainSchema extends Record { id: number; merge_request: CondensedMergeRequestSchema; user: MappedOmit; pipeline: PipelineSchema; created_at: string; updated_at: string; target_branch: string; status: string; merged_at: string; duration: number; } declare class MergeTrains extends BaseResource { all(projectId: string | number, options: { targetBranch?: string; scope?: 'active' | 'complete'; sort?: 'asc' | 'desc'; } & PaginationRequestOptions

& BaseRequestOptions): Promise>; showStatus(projectId: string | number, mergeRequestIId: number, options?: Sudo & ShowExpanded): Promise>; addMergeRequest(projectId: string | number, mergeRequestIId: number, options?: { whenPipelineSucceeds?: boolean; sha?: string; squash?: boolean; } & Sudo & ShowExpanded): Promise>; } interface PackageRegistrySchema extends Record { id: number; package_id: number; created_at: string; updated_at: string; size: number; file_store: number; file_md5?: string; file_sha1?: string; file_name: string; file: { url: string; }; file_sha256: string; verification_retry_at?: string; verified_at?: string; verification_failure?: string; verification_retry_count?: string; verification_checksum?: string; verification_state: number; verification_started_at?: string; new_file_path?: string; } declare class PackageRegistry extends BaseResource { publish(projectId: string | number, packageName: string, packageVersion: string, packageFile: { content: Blob; filename: string; }, options: { select: 'package_file'; contentType?: string; status?: 'default' | 'hidden'; } & Sudo & ShowExpanded): Promise>; publish(projectId: string | number, packageName: string, packageVersion: string, packageFile: { content: Blob; filename: string; }, options?: { contentType?: string; status?: 'default' | 'hidden'; } & Sudo & ShowExpanded): Promise>; download(projectId: string | number, packageName: string, packageVersion: string, filename: string, options?: Sudo & ShowExpanded): Promise, E, undefined>>; } interface PackageSchema extends Record { id: number; name: string; version: string; package_type: string; created_at: string; } interface ExpandedPackageSchema extends PackageSchema { _links: Record; pipelines: PipelineSchema[]; versions: MappedOmit; } interface PackageFileSchema extends Record { id: number; package_id: number; created_at: string; file_name: string; size: number; file_md5: string; file_sha1: string; pipelines?: PipelineSchema[]; } type AllPackageOptions = { excludeSubgroups?: boolean; orderBy?: 'created_at' | 'name' | 'version' | 'type' | 'project_path'; sort?: 'asc' | 'desc'; packageType?: 'conan' | 'maven' | 'npm' | 'pypi' | 'composer' | 'nuget' | 'helm' | 'golang'; packageName?: string; includeVersionless?: boolean; status?: 'default' | 'hidden' | 'processing' | 'error' | 'pending_destruction'; }; declare class Packages extends BaseResource { all({ projectId, groupId, ...options }?: OneOf<{ projectId: string | number; groupId: string | number; }> & AllPackageOptions & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; allFiles(projectId: string | number, packageId: number, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, packageId: number, options?: Sudo & ShowExpanded): Promise>; removeFile(projectId: string | number, packageId: number, projectFileId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, packageId: number, options?: Sudo & ShowExpanded): Promise>; } interface PagesDomainSchema extends Record { domain: string; url: string; project_id: number; auto_ssl_enabled?: boolean; certificate?: { expired: boolean; expiration: string; certificate: string; certificate_text: string; }; } declare class PagesDomains extends BaseResource { all({ projectId, ...options }?: { projectId?: string | number; } & Sudo & ShowExpanded): Promise>; create(projectId: string | number, domain: string, options?: { autoSslEnabled?: string; certificate?: string; key?: string; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, domain: string, options?: { autoSslEnabled?: string; certificate?: string; key?: string; } & Sudo & ShowExpanded): Promise>; show(projectId: string | number, domain: string, options?: { autoSslEnabled?: string; certificate?: string; key?: string; } & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, domain: string, options?: Sudo & ShowExpanded): Promise>; } interface CondensedPipelineScheduleSchema extends Record { id: number; description: string; ref: string; cron: string; cron_timezone: string; next_run_at: string; active: boolean; created_at: string; updated_at: string; owner: MappedOmit; } interface PipelineScheduleSchema extends CondensedPipelineScheduleSchema { last_pipeline: Pick; } interface ExpandedPipelineScheduleSchema extends PipelineScheduleSchema { last_pipeline: Pick; variables: PipelineVariableSchema[]; } declare class PipelineSchedules extends BaseResource { all(projectId: string | number, options?: { scope?: 'active' | 'inactive'; } & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; allTriggeredPipelines(projectId: string | number, pipelineScheduleId: number, options?: Sudo & ShowExpanded): Promise>; create(projectId: string | number, description: string, ref: string, cron: string, options?: { cronTimezone?: string; active?: boolean; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, pipelineScheduleId: number, options?: { description?: string; ref?: string; cron?: string; cronTimezone?: string; active?: boolean; } & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, pipelineScheduleId: number, options?: Sudo & ShowExpanded): Promise>; run(projectId: string | number, pipelineScheduleId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, pipelineScheduleId: number, options?: Sudo & ShowExpanded): Promise>; takeOwnership(projectId: string | number, pipelineScheduleId: number, options?: Sudo & ShowExpanded): Promise>; } interface PipelineTriggerTokenSchema extends Record { id: number; description: string; created_at: string; last_used: string | null; token: string; updated_at: string; owner: MappedOmit | null; } declare class PipelineTriggerTokens extends BaseResource { all(projectId: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(projectId: string | number, description: string, options?: Sudo & ShowExpanded): Promise>; edit(projectId: string | number, triggerId: number, options?: { description?: string; } & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, triggerId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, triggerId: number, options?: Sudo & ShowExpanded): Promise>; trigger(projectId: string | number, ref: string, token: string, { variables, ...options }?: { variables?: Record; } & Sudo & ShowExpanded): Promise>; } declare class ProductAnalytics extends BaseResource { allFunnels(projectId: string | number, options?: Sudo & ShowExpanded): Promise, C, E, void>>; load(projectId: string | number, options?: { includeToken?: boolean; } & Sudo & ShowExpanded): Promise>; dryRun(projectId: string | number, options?: { includeToken?: boolean; } & Sudo & ShowExpanded): Promise>; showMetadata(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; } interface ProjectAccessRequests extends ResourceAccessRequests { all(projectId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; request(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; approve(projectId: string | number, userId: number, options?: { accessLevel?: Exclude; } & Sudo & ShowExpanded): Promise>; deny(groupId: string | number, userId: number): Promise>; } declare class ProjectAccessRequests extends ResourceAccessRequests { constructor(options: BaseResourceOptions); } interface ProjectAccessTokens extends ResourceAccessTokens { all(projectId: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(projectId: string | number, name: string, scopes: AccessTokenScopes[], options?: { accessLevel?: Exclude; expiresAt?: string; } & Sudo & ShowExpanded): Promise>; revoke(projectId: string | number, tokenId: string | number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, tokenId: string | number, options?: Sudo & ShowExpanded): Promise>; } declare class ProjectAccessTokens extends ResourceAccessTokens { constructor(options: BaseResourceOptions); } interface ProjectAliasSchema extends Record { id: number; project_id: string | number; name: string; } declare class ProjectAliases extends BaseResource { all(options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(projectId: string | number, name: string, options?: Sudo & ShowExpanded): Promise>; edit(name: string, options?: Sudo & ShowExpanded): Promise>; remove(name: string, options?: Sudo & ShowExpanded): Promise>; } interface ProjectBadgeSchema extends BadgeSchema { kind: 'project'; } interface ProjectBadges extends ResourceBadges { add(groupId: string | number, linkUrl: string, imageUrl: string, options?: { name?: string; } & Sudo & ShowExpanded): Promise>; all(groupId: string | number, options?: { name?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; edit(groupId: string | number, badgeId: number, options?: EditBadgeOptions & Sudo & ShowExpanded): Promise>; preview(groupId: string | number, linkUrl: string, imageUrl: string, options?: Sudo & ShowExpanded): Promise>; remove(groupId: string | number, badgeId: number, options?: Sudo & ShowExpanded): Promise>; show(groupId: string | number, badgeId: number, options?: Sudo & ShowExpanded): Promise>; } declare class ProjectBadges extends ResourceBadges { constructor(options: BaseResourceOptions); } interface ProjectCustomAttributes extends ResourceCustomAttributes { all(projectId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; set(projectId: string | number, customAttributeId: string, value: string, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, customAttributeId: string, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, customAttributeId: string, options?: Sudo & ShowExpanded): Promise>; } declare class ProjectCustomAttributes extends ResourceCustomAttributes { constructor(options: BaseResourceOptions); } declare class ProjectDORA4Metrics extends ResourceDORA4Metrics { constructor(options: BaseResourceOptions); } interface ProjectHookSchema extends ExpandedHookSchema { projectId: number; } interface ProjectHooks { add(projectId: string | number, url: string, options?: AddResourceHookOptions & Sudo & ShowExpanded): Promise>; all(projectId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; edit(projectId: string | number, hookId: number, url: string, options?: EditResourceHookOptions & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, hookId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, hookId: number, options?: Sudo & ShowExpanded): Promise>; } declare class ProjectHooks extends ResourceHooks { constructor(options: BaseResourceOptions); } interface ExportStatusSchema extends Record { id: number; description: string; name: string; name_with_namespace: string; path: string; path_with_namespace: string; created_at: string; export_status: string; _links: { api_url: string; web_url: string; }; } interface FailedRelationSchema { id: number; created_at: string; exception_class: string; exception_message: string; source: string; relation_name: string; } interface ImportStatusSchema extends Record { id: number; description: string; name: string; name_with_namespace: string; path: string; path_with_namespace: string; created_at: string; import_status: string; correlation_id: string; failed_relations?: FailedRelationSchema[]; import_error?: string; } declare class ProjectImportExports extends BaseResource { download(projectId: string | number, options: { asStream: true; } & Sudo & ShowExpanded): Promise>; download(projectId: string | number, options?: { asStream?: boolean; } & Sudo & ShowExpanded): Promise>; import(file: { content: Blob; filename: string; }, path: string, options?: { name?: string; namespace?: number | string; overrideParams?: Record; overwrite?: boolean; } & Sudo & ShowExpanded): Promise>; importRemote(url: string, path: string, options?: { name?: number; namespace?: number | string; overrideParams?: Record; overwrite?: boolean; } & Sudo & ShowExpanded): Promise>; importRemoteS3(accessKeyId: string, bucketName: string, fileKey: string, path: string, region: string, secretAccessKey: string, options?: { name?: number; namespace?: number | string; } & Sudo & ShowExpanded): Promise>; showExportStatus(projectId: string | number, options?: Sudo & ShowExpanded): Promise, E, undefined>>; showImportStatus(projectId: string | number, options?: Sudo & ShowExpanded): Promise, E, undefined>>; scheduleExport(projectId: string | number, uploadConfig: { url: string; http_method?: string; }, options?: { description?: string; } & Sudo & ShowExpanded): Promise>; } interface ProjectInvitations { add(projectId: string | number, accessLevel: Exclude, options: OneOf<{ email: string; userId: string; }> & { expiresAt?: string; inviteSource?: string; tasksToBeDone?: string[]; tasksProjectId?: number; } & Sudo & ShowExpanded): Promise>; all(projectId: string | number, options?: PaginationRequestOptions

& { query?: string; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, email: string, options?: { expiresAt?: string; accessLevel?: Exclude; } & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, email: string, options?: Sudo & ShowExpanded): Promise>; } declare class ProjectInvitations extends ResourceInvitations { constructor(options: BaseResourceOptions); } interface ProjectIssueBoardSchema extends IssueBoardSchema { project: SimpleProjectSchema; } interface ProjectIssueBoards extends ResourceIssueBoards { all(projectId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allLists(projectId: string | number, boardId: number, options?: Sudo & ShowExpanded): Promise>; create(projectId: string | number, name: string, options?: Sudo & ShowExpanded): Promise>; createList(projectId: string | number, boardId: number, options?: OneOrNoneOf<{ labelId: number; assigneeId: number; milestoneId: number; }> & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, boardId: number, options?: { name?: string; assigneeId?: number; milestoneId?: number; labels?: string; weight?: number; } & Sudo & ShowExpanded): Promise>; editList(projectId: string | number, boardId: number, listId: number, position: number, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, boardId: number, options?: Sudo & ShowExpanded): Promise>; removeList(projectId: string | number, boardId: number, listId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, boardId: number, options?: Sudo & ShowExpanded): Promise>; showList(projectId: string | number, boardId: number, listId: number, options?: Sudo & ShowExpanded): Promise>; } declare class ProjectIssueBoards extends ResourceIssueBoards { constructor(options: BaseResourceOptions); } interface ProjectIterations { all(projectId: string | number, options?: AllIterationsOptions & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; } declare class ProjectIterations extends ResourceIterations { constructor(options: BaseResourceOptions); } interface ProjectLabels extends ResourceLabels { all(projectId: string | number, options: { withCounts: true; includeAncestorGroups?: boolean; search?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; all(projectId: string | number, options: { includeAncestorGroups?: boolean; search?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; all(projectId: string | number, options?: { withCounts?: boolean; includeAncestorGroups?: boolean; search?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(projectId: string | number, labelName: string, color: string, options?: { description?: string; priority?: number; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, labelId: number | string, options: OneOf<{ newName: string; color: string; }> & { description?: string; priority?: number; } & Sudo & ShowExpanded): Promise>; promote(projectId: string | number, labelId: number | string, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, labelId: number | string, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, labelId: number | string, options?: { includeAncestorGroups?: boolean; } & Sudo & ShowExpanded): Promise>; subscribe(projectId: string | number, labelId: number | string, options?: Sudo & ShowExpanded): Promise>; unsubscribe(projectId: string | number, labelId: number | string, options?: Sudo & ShowExpanded): Promise>; } declare class ProjectLabels extends ResourceLabels { constructor(options: BaseResourceOptions); } interface ProjectMembers extends ResourceMembers { add(projectId: string | number, userId: number, accessLevel: Exclude, options?: AddMemeberOptions & Sudo & ShowExpanded): Promise>; all(projectId: string | number, options?: IncludeInherited & PaginationRequestOptions

& AllMembersOptions & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, userId: number, accessLevel: AccessLevel, options?: { expiresAt?: string; memberRoleId?: number; } & Sudo & ShowExpanded): Promise>; show(projectId: string | number, userId: number, options?: IncludeInherited & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, userId: number, options?: { skipSubresourceS?: boolean; unassignIssuables?: boolean; } & Sudo & ShowExpanded): Promise>; } declare class ProjectMembers extends ResourceMembers { constructor(options: BaseResourceOptions); } interface ProjectMilestones extends ResourceMilestones { all(projectId: string | number, options?: AllMilestonesOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allAssignedIssues(projectId: string | number, milestoneId: number, options?: Sudo & ShowExpanded): Promise>; allAssignedMergeRequests(projectId: string | number, milestoneId: number, options?: Sudo & ShowExpanded): Promise>; allBurndownChartEvents(projectId: string | number, milestoneId: number, options?: Sudo & ShowExpanded): Promise>; create(projectId: string | number, title: string, options?: { description?: string; dueDate?: string; startDate?: string; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, milestoneId: number, options?: { title?: string; description?: string; dueDate?: string; startDate?: string; stateEvent?: 'close' | 'activate'; } & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, milestoneId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, milestoneId: number, options?: Sudo & ShowExpanded): Promise>; } declare class ProjectMilestones extends ResourceMilestones { constructor(options: BaseResourceOptions); promote(projectId: string | number, milestoneId: number, options?: Sudo & ShowExpanded): Promise>; } interface ProjectProtectedEnvironments { all(projectId: string | number, options?: { search?: string; } & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(projectId: string | number, name: string, deployAccessLevel: ProtectedEnvironmentAccessLevelEntity[], options?: { requiredApprovalCount?: number; approvalLevels: ProtectedEnvironmentAccessLevelEntity[]; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, name: string, options?: { deployAccessLevels?: ProtectedEnvironmentAccessLevelEntity[]; requiredApprovalCount?: number; approvalRules?: ProtectedEnvironmentAccessLevelEntity[]; } & Sudo & ShowExpanded): Promise>; show(projectId: string | number, name: string, options?: Sudo & ShowExpanded): Promise>; unprotect(projectId: string | number, name: string, options?: Sudo & ShowExpanded): Promise>; } declare class ProjectProtectedEnvironments extends ResourceProtectedEnvironments { constructor(options: BaseResourceOptions); } interface ProjectPushRules extends ResourcePushRules { create(projectId: string | number, options?: CreateAndEditPushRuleOptions & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, options?: CreateAndEditPushRuleOptions & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; } declare class ProjectPushRules extends ResourcePushRules { constructor(options: BaseResourceOptions); } interface RelationsExportStatusSchema extends Record { relation: string; status: number; error?: string; updated_at: string; } declare class ProjectRelationsExport extends BaseResource { download(projectId: string | number, relation: string, options?: Sudo & ShowExpanded): Promise>; showExportStatus(projectId: string | number, options?: Sudo): Promise>; scheduleExport(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; } interface ReleaseEvidence { sha: string; filepath: string; collected_at: string; } interface ReleaseAssetSource { format: string; url: string; } interface ReleaseAssetLink { id: number; name: string; url: string; external: boolean; link_type: string; } interface ReleaseSchema extends Record { tag_name: string; description: string | null; name: string | null; created_at: string; released_at: string | null; user: MappedOmit; commit: CommitSchema; milestones: MilestoneSchema[] | null; commit_path: string; tag_path: string; assets: { count: number; sources?: ReleaseAssetSource[] | null; links: ReleaseAssetLink[] | null; evidence_file_path: string; }; evidences: ReleaseEvidence[] | null; _links: { closed_issues_url: string; closed_merge_requests_url: string; edit_url: string; merged_merge_requests_url: string; opened_issues_url: string; opened_merge_requests_url: string; self: string; }; } declare class ProjectReleases extends BaseResource { all(projectId: string | number, options?: PaginationRequestOptions

& BaseRequestOptions & { includeHtmlDescription: true; }): Promise>; all(projectId: string | number, options?: PaginationRequestOptions

& BaseRequestOptions): Promise>; create(projectId: string | number, options?: BaseRequestOptions): Promise>; createEvidence(projectId: string | number, tagName: string, options?: Sudo & ShowExpanded): Promise>; edit(projectId: string | number, tagName: string, options?: BaseRequestOptions): Promise>; download(projectId: string | number, tagName: string, filepath: string, options?: Sudo & ShowExpanded): Promise>; downloadLatest(projectId: string | number, filepath: string, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, tagName: string, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, tagName: string, options?: { includeHtmlDescription?: boolean; } & Sudo & ShowExpanded): Promise>; showLatest(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; showLatestEvidence(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; } interface ProjectRepositoryStorageMoveSchema extends RepositoryStorageMoveSchema { project: SimpleProjectSchema; } interface ProjectRepositoryStorageMoves extends ResourceRepositoryStorageMoves { all(options?: { projectId?: string | number; } & PaginationRequestOptions

& BaseRequestOptions): Promise>; show(repositoryStorageId: number, options?: { projectId?: string | number; } & Sudo & ShowExpanded): Promise>; schedule(sourceStorageName: string, options?: { projectId?: string | number; destinationStorageName: any; } & Sudo & ShowExpanded): Promise>; } declare class ProjectRepositoryStorageMoves extends ResourceRepositoryStorageMoves { constructor(options: BaseResourceOptions); } interface ProjectSnippetAwardEmojis extends ResourceAwardEmojis { all(projectId: string | number, snippetId: number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; award(projectId: string | number, snippetId: number, name: string, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, snippetId: number, awardId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, snippetId: number, awardId: number, options?: Sudo & ShowExpanded): Promise>; } declare class ProjectSnippetAwardEmojis extends ResourceAwardEmojis { constructor(options: BaseResourceOptions); } interface ProjectSnippetDiscussions extends ResourceDiscussions { addNote(projectId: string | number, snippetId: string | number, discussionId: string, noteId: number, body: string, options?: { createdAt?: string; } & Sudo & ShowExpanded): Promise>; all(projectId: string | number, issueId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(projectId: string | number, snippetId: string | number, body: string, options?: { createdAt?: string; } & Sudo & ShowExpanded): Promise>; editNote(projectId: string | number, snippetId: string | number, discussionId: string, noteId: number, options: Sudo & ShowExpanded & { body: string; }): Promise>; removeNote(projectId: string | number, snippetId: string | number, discussionId: string, noteId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, snippetId: string | number, discussionId: string, options?: Sudo & ShowExpanded): Promise>; } declare class ProjectSnippetDiscussions extends ResourceDiscussions { constructor(options: BaseResourceOptions); } interface SnippetNoteSchema extends NoteSchema { noteable_type: 'Snippet'; } interface ProjectSnippetNotes extends ResourceNotes { all(projectId: string | number, snippedId: number, options?: { sort?: 'asc' | 'desc'; orderBy?: 'created_at' | 'updated_at'; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(projectId: string | number, snippedId: number, body: string, options?: { createdAt?: string; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, snippedId: number, noteId: number, options: { body: string; } & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, snippedId: number, noteId: number, options?: Sudo): Promise>; show(projectId: string | number, snippedId: number, noteId: number, options?: Sudo & ShowExpanded): Promise>; } declare class ProjectSnippetNotes extends ResourceNotes { constructor(options: BaseResourceOptions); } declare class ProjectSnippets extends BaseResource { all(projectId: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(projectId: string | number, title: string, options?: CreateSnippetOptions & Sudo & ShowExpanded): Promise, E, undefined>>; edit(projectId: string | number, snippetId: number, options?: EditSnippetOptions & Sudo & ShowExpanded): Promise, E, undefined>>; remove(projectId: string | number, snippetId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, snippetId: number, options?: Sudo & ShowExpanded): Promise>; showContent(projectId: string | number, snippetId: number, options?: Sudo & ShowExpanded): Promise>; showRepositoryFileContent(projectId: string | number, snippetId: number, ref: string, filePath: string, options?: Sudo & ShowExpanded): Promise>; showUserAgentDetails(projectId: string | number, snippetId: number, options?: Sudo & ShowExpanded): Promise, E, undefined>>; } interface ProjectStatisticSchema extends Record { fetches: { total: number; days: { count: number; date: string; }[]; }; } declare class ProjectStatistics extends BaseResource { show(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; } type ProjectTemplateType = 'dockerfiles' | 'gitignores' | 'gitlab_ci_ymls' | 'licenses' | 'issues' | 'merge_requests'; interface ProjectTemplateSchema extends Record { name: string; content: string; } declare class ProjectTemplates extends BaseResource { all(projectId: string | number, type: ProjectTemplateType, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; show(projectId: string | number, type: ProjectTemplateType, name: string, options?: { project?: string; fullname?: string; sourceTemplateProjectId?: number; } & Sudo & ShowExpanded): Promise>; } interface ProjectVariableSchema extends VariableSchema { environment_scope: string; } interface ProjectVariables extends ResourceVariables { all(projectId: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(projectId: string | number, key: string, value: string, options?: { variableType?: VariableType; protected?: boolean; masked?: boolean; environmentScope?: string; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, key: string, value: string, options?: { variableType?: VariableType; protected?: boolean; masked?: boolean; environmentScope?: string; filter: VariableFilter; } & Sudo & ShowExpanded): Promise>; show(projectId: string | number, key: string, options?: { filter?: VariableFilter; } & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, key: string, options?: { filter?: VariableFilter; } & Sudo & ShowExpanded): Promise>; } declare class ProjectVariables extends ResourceVariables { constructor(options: BaseResourceOptions); } interface ProjectVulnerabilitySchema extends Record { author_id: number; confidence: string; created_at: string; description?: string; dismissed_at?: string; dismissed_by_id?: number; due_date?: string; finding: { confidence: string; created_at: string; id: number; location_fingerprint: string; metadata_version: string; name: string; primary_identifier_id: number; project_fingerprint: string; project_id: number; raw_metadata: string; report_type: string; scanner_id: number; severity: string; updated_at: string; uuid: string; vulnerability_id: number; }; id: number; last_edited_at?: string; last_edited_by_id?: number; project: SimpleProjectSchema; project_default_branch: string; report_type: string; resolved_at?: string; resolved_by_id?: number; resolved_on_default_branch: boolean; severity: string; start_date?: string; state: string; title: string; updated_at: string; updated_by_id?: number; } declare class ProjectVulnerabilities extends BaseResource { all(projectId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(projectId: string | number, findingId: number, options?: Sudo & ShowExpanded): Promise>; } interface ProjectWikis extends ResourceWikis { all(projectId: string | number, options: { withContent: true; } & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; all(projectId: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; all(projectId: string | number, options?: { withContent?: boolean; } & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(projectId: string | number, content: string, title: string, options?: { format?: string; } & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, slug: string, options?: OneOf<{ content: string; title: string; }> & { format?: string; } & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, slug: string, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, slug: string, options?: { renderHtml?: boolean; version?: string; } & Sudo & ShowExpanded): Promise>; uploadAttachment(projectId: string | number, file: { content: Blob; filename: string; }, options?: { branch?: string; } & Sudo & ShowExpanded): Promise>; } declare class ProjectWikis extends ResourceWikis { constructor(options: BaseResourceOptions); } type ProtectedTagAccessLevel = AccessLevel.NO_ACCESS | AccessLevel.DEVELOPER | AccessLevel.MAINTAINER | AccessLevel.ADMIN; interface ProtectedTagAccessLevelSummarySchema { id: number; access_level: ProtectedTagAccessLevel; access_level_description: string; } interface ProtectedTagSchema extends Record { name: string; create_access_levels?: ProtectedTagAccessLevelSummarySchema[]; } type ProtectedTagAccessLevelEntity = OneOf<{ userId: number; groupId: number; accessLevel: ProtectedTagAccessLevel; }>; declare class ProtectedTags extends BaseResource { all(projectId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(projectId: string | number, tagName: string, options?: { createAccessLevel?: ProtectedTagAccessLevel; allowedToCreate?: ProtectedTagAccessLevelEntity; } & Sudo & ShowExpanded): Promise>; protect(projectId: string | number, tagName: string, options?: { createAccessLevel?: ProtectedTagAccessLevel; allowedToCreate?: ProtectedTagAccessLevelEntity; } & Sudo & ShowExpanded): Promise>; show(projectId: string | number, tagName: string, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, tagName: string, options?: Sudo & ShowExpanded): Promise>; unprotect(projectId: string | number, tagName: string, options?: Sudo & ShowExpanded): Promise>; } interface ReleaseLinkSchema extends Record { id: number; name: string; url: string; external: boolean; link_type: string; } declare class ReleaseLinks extends BaseResource { all(projectId: string | number, tagName: string, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(projectId: string | number, tagName: string, name: string, url: string, options?: Sudo & { filePath?: string; linkType?: string; directAssetPath?: string; }): Promise>; edit(projectId: string | number, tagName: string, linkId: number, options?: Sudo & ShowExpanded & { name?: string; url?: string; filePath?: string; linkType?: string; directAssetPath?: string; }): Promise>; remove(projectId: string | number, tagName: string, linkId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, tagName: string, linkId: number, options?: Sudo & ShowExpanded): Promise, E, undefined>>; } type ArchiveType = 'tar.gz' | 'tar.bz2' | 'tbz' | 'tbz2' | 'tb2' | 'bz2' | 'tar' | 'zip'; interface RepositoryChangelogSchema extends Record { notes: string; } interface RepositoryCompareSchema extends Record { commit: MappedOmit; commits?: MappedOmit[]; diffs?: CommitDiffSchema[]; compare_timeout: boolean; compare_same_ref: boolean; } interface RepositoryContributorSchema extends Record { name: string; email: string; commits: number; additions: number; deletions: number; } interface RepositoryTreeSchema extends Record { id: string; name: string; type: string; path: string; mode: string; } interface RepositoryBlobSchema extends Record { size: number; encoding: string; content: string; sha: string; } type AllRepositoryTreesOptions = { pageToken?: string; path?: string; recursive?: boolean; ref?: string; }; type EditChangelogOptions = { branch?: string; configFile?: string; date?: string; file?: string; from?: string; message?: string; to?: string; trailer?: string; }; type ShowChangelogOptions = { configFile?: string; date?: string; from?: string; to?: string; trailer?: string; }; declare class Repositories extends BaseResource { allContributors(projectId: string | number, options?: { orderBy?: string; sort?: string; } & Sudo & ShowExpanded): Promise>; allRepositoryTrees(projectId: string | number, options?: AllRepositoryTreesOptions & PaginationRequestOptions<'keyset'> & Sudo & ShowExpanded): Promise>; compare(projectId: string | number, from: string, to: string, options?: { fromProjectId?: string | number; straight?: boolean; } & Sudo & ShowExpanded): Promise>; editChangelog(projectId: string | number, version: string, options?: EditChangelogOptions & Sudo & ShowExpanded): Promise>; mergeBase(projectId: string | number, refs: string[], options?: Sudo & ShowExpanded): Promise>; showArchive(projectId: string | number, options: { fileType?: ArchiveType; sha?: string; path?: string; asStream: true; } & Sudo & ShowExpanded): Promise>; showArchive(projectId: string | number, options?: { fileType?: ArchiveType; sha?: string; path?: string; asStream?: boolean; } & Sudo & ShowExpanded): Promise>; showBlob(projectId: string | number, sha: string, options?: Sudo & ShowExpanded): Promise>; showBlobRaw(projectId: string | number, sha: string, options?: Sudo & ShowExpanded): Promise>; showChangelog(projectId: string | number, version: string, options?: ShowChangelogOptions & Sudo & ShowExpanded): Promise>; } interface RepositoryFileExpandedSchema extends Record { file_name: string; file_path: string; size: number; encoding: string; content: string; content_sha256: string; ref: string; blob_id: string; commit_id: string; last_commit_id: string; } interface RepositoryFileBlameSchema extends Record { commit: CommitSchema; lines?: string[]; } interface RepositoryFileSchema extends Record { file_path: string; branch: string; } type CreateRepositoryFileOptions = { authorEmail?: string; authorName?: string; encoding?: string; executeFilemode?: boolean; startBranch?: string; }; type EditRepositoryFileOptions = { authorEmail?: string; authorName?: string; encoding?: string; executeFilemode?: boolean; startBranch?: string; lastCommitId?: string; }; type RemoveRepositoryFileOptions = { authorEmail?: string; authorName?: string; startBranch?: string; lastCommitId?: string; }; declare class RepositoryFiles extends BaseResource { allFileBlames(projectId: string | number, filePath: string, ref: string, options?: { range?: { start: number; end: number; }; } & Sudo & ShowExpanded): Promise>; create(projectId: string | number, filePath: string, branch: string, content: string, commitMessage: string, options?: CreateRepositoryFileOptions & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, filePath: string, branch: string, content: string, commitMessage: string, options?: EditRepositoryFileOptions & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, filePath: string, branch: string, commitMessage: string, options?: RemoveRepositoryFileOptions & Sudo & ShowExpanded): Promise>; show(projectId: string | number, filePath: string, ref: string, options?: Sudo & ShowExpanded): Promise>; showRaw(projectId: string | number, filePath: string, ref: string, options?: { lfs?: boolean; } & Sudo & ShowExpanded): Promise>; } interface RepositorySubmoduleSchema extends CommitSchema { status?: string; } declare class RepositorySubmodules extends BaseResource { edit(projectId: string | number, submodule: string, branch: string, commitSha: string, options?: { commitMessage?: string; } & Sudo & ShowExpanded): Promise>; } interface ResourceGroupSchema extends Record { id: number; key: string; process_mode: string; created_at: string; updated_at: string; } declare class ResourceGroups extends BaseResource { all(projectId: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; edit(projectId: string | number, key: string, options?: { processMode?: string; } & Sudo & ShowExpanded): Promise, E, undefined>>; show(projectId: string | number, key: string, options?: Sudo & ShowExpanded): Promise>; allUpcomingJobs(projectId: string | number, options?: Sudo & ShowExpanded): Promise>; } interface SecureFileSchema extends Record { id: number; name: string; checksum: string; checksum_algorithm: string; created_at: string; expires_at?: string; metadata?: { id: string; issuer: { C: string; O: string; CN: string; OU: string; }; subject: { C: string; O: string; CN: string; OU: string; UID: string; }; expires_at: string; }; } declare class SecureFiles extends BaseResource { all(projectId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(projectId: string | number, name: string, file: { content: Blob; filename: string; }, options?: Sudo & ShowExpanded): Promise>; download(projectId: string | number, secureFileId: number, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, secureFileId: number, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, secureFileId: string, options?: Sudo & ShowExpanded): Promise>; } interface TagSchema extends Record { commit: CommitSchema; release: Pick; name: string; target: string; message?: string; protected: boolean; } interface TagSignatureSchema extends Record { signature_type: string; verification_status: string; x509_certificate: { id: number; subject: string; subject_key_identifier: string; email: string; serial_number: number; certificate_status: string; x509_issuer: { id: number; subject: string; subject_key_identifier: string; crl_url: string; }; }; } declare class Tags extends BaseResource { all(projectId: string | number, options?: { orderBy?: 'name' | 'updated'; sort?: 'asc' | 'desc'; search?: string; } & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(projectId: string | number, tagName: string, ref: string, options?: { message?: string; } & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, tagName: string, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, tagName: string, options?: Sudo & ShowExpanded): Promise>; showSignature(projectId: string | number, tagName: string, options?: Sudo & ShowExpanded): Promise>; } interface StarredDashboardSchema extends Record { id: number; dashboard_path: string; user_id: number; project_id: number; } declare class UserStarredMetricsDashboard extends BaseResource { create(projectId: string | number, dashboardPath: string, options?: Sudo & ShowExpanded): Promise>; remove(projectId: string | number, options?: { dashboard_path?: string; } & Sudo & ShowExpanded): Promise>; } interface EpicAwardEmojis extends ResourceAwardEmojis { all(epicId: string | number, issueIId: number, options?: PaginationRequestOptions

& BaseRequestOptions): Promise>; award(epicId: string | number, issueIId: number, name: string, options?: Sudo & ShowExpanded): Promise>; remove(epicId: string | number, issueIId: number, awardId: number, options?: Sudo & ShowExpanded): Promise>; show(epicId: string | number, issueIId: number, awardId: number, options?: Sudo & ShowExpanded): Promise>; } declare class EpicAwardEmojis extends ResourceAwardEmojis { constructor(options: BaseResourceOptions); } interface EpicDiscussions extends ResourceDiscussions { addNote(groupId: string | number, epicId: number, discussionId: string, noteId: number, body: string, options?: { createdAt?: string; } & Sudo & ShowExpanded): Promise>; all(groupId: string | number, epicId: number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(groupId: string | number, epicId: number, body: string, options?: { createdAt?: string; } & Sudo & ShowExpanded): Promise>; editNote(groupId: string | number, epicId: number, discussionId: string, noteId: number, options: Sudo & ShowExpanded & { body: string; }): Promise>; removeNote(groupId: string | number, epicId: number, discussionId: string, noteId: number, options?: Sudo & ShowExpanded): Promise>; show(groupId: string | number, epicId: number, discussionId: string, options?: Sudo & ShowExpanded): Promise>; } declare class EpicDiscussions extends ResourceDiscussions { constructor(options: BaseResourceOptions); } interface EpicIssueSchema extends MappedOmit { epic_issue_id: number; } interface ExpandedEpicIssueSchema extends EpicIssueSchema { subscribed: boolean; relative_position: number; } declare class EpicIssues extends BaseResource { all(groupId: string | number, epicIId: number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; assign(groupId: string | number, epicIId: number, epicIssueId: number, options?: Sudo & ShowExpanded): Promise>; edit(groupId: string | number, epicIId: number, epicIssueId: number, options?: { moveBeforeId?: number; moveAfterId?: number; } & Sudo & ShowExpanded): Promise>; remove(groupId: string | number, epicIId: number, epicIssueId: number, options?: Sudo & ShowExpanded): Promise>; } interface EpicLabelEvents { all(groupId: string | number, epidId: number, options?: BaseRequestOptions & PaginationRequestOptions

): Promise>; show(groupId: string | number, epidId: number, labelEventId: number, options?: Sudo & ShowExpanded): Promise>; } declare class EpicLabelEvents extends ResourceLabelEvents { constructor(options: BaseResourceOptions); } interface CondensedEpicLinkSchema extends Record { id: number; iid: number; group_id: number; parent_id: number; title: string; has_children: boolean; has_issues: boolean; reference: string; url: string; relation_url: string; } interface EpicLinkSchema extends Record { id: number; iid: number; group_id: number; parent_id: number; title: string; description: string; author: UserSchema; start_date?: string; start_date_is_fixed: boolean; start_date_fixed?: string; start_date_from_milestones?: string; start_date_from_inherited_source?: string; due_date: string; due_date_is_fixed: boolean; due_date_fixed?: string; due_date_from_milestones?: string; due_date_from_inherited_source: string; created_at: string; updated_at: string; labels?: string[]; } declare class EpicLinks extends BaseResource { all(groupId: string | number, epicIId: number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; assign(groupId: string | number, epicIId: number, childEpicId: number, options?: Sudo & ShowExpanded): Promise>; create(groupId: string | number, epicIId: number, title: string, options?: { confidential?: boolean; } & Sudo & ShowExpanded): Promise>; reorder(groupId: string | number, epicIId: number, childEpicId: number, options?: { moveBeforeId?: number; moveAfterId?: number; } & Sudo & ShowExpanded): Promise>; unassign(groupId: string | number, epicIId: number, childEpicId: number, options?: Sudo & ShowExpanded): Promise>; } interface EpicNoteSchema extends NoteSchema { noteable_type: 'Epic'; } interface EpicNotes extends ResourceNotes { all(groupId: string | number, epicId: number, options?: { sort?: 'asc' | 'desc'; orderBy?: 'created_at' | 'updated_at'; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(groupId: string | number, epicId: number, body: string, options?: { internal?: boolean; createdAt?: string; } & Sudo & ShowExpanded): Promise>; edit(groupId: string | number, epicId: number, noteId: number, options: { body: string; } & Sudo & ShowExpanded): Promise>; remove(groupId: string | number, epicId: number, noteId: number, options?: Sudo): Promise>; show(groupId: string | number, epicId: number, noteId: number, options?: Sudo & ShowExpanded): Promise>; } declare class EpicNotes extends ResourceNotes { constructor(options: BaseResourceOptions); } interface EpicSchema extends Record { id: number; iid: number; group_id: number; parent_id: number; parent_iid: number; title: string; description: string; state: string; confidential: string; web_url: string; references: { short: string; relative: string; full: string; }; author: MappedOmit; start_date?: string; start_date_is_fixed: boolean; start_date_fixed?: string; start_date_from_inherited_source?: string; due_date: string; due_date_is_fixed: boolean; due_date_fixed?: string; due_date_from_inherited_source: string; created_at: string; updated_at: string; closed_at: string; labels: string[] | SimpleLabelSchema[]; upvotes: number; downvotes: number; _links: { self: string; epic_issues: string; group: string; }; } interface EpicSchemaWithExpandedLabels extends EpicSchema { labels: SimpleLabelSchema[]; } interface EpicSchemaWithBasicLabels extends EpicSchema { labels: string[]; } interface EpicTodoSchema extends TodoSchema { group: Pick; target_type: 'Epic'; target: EpicSchema; } type AllEpicsOptions = { authorId?: number; authorUsername?: string; labels?: string; withLabelsDetails?: boolean; orderBy?: 'created_at' | 'updated_at' | 'title'; sort?: string; search?: string; state?: string; createdAfter?: string; createdBefore?: string; updatedAfter?: string; updatedBefore?: string; includeAncestorGroups?: boolean; includeDescendantGroups?: boolean; myReactionEmoji?: string; not?: Record; }; type CreateEpicOptions = { labels?: string; description?: string; color?: string; confidential?: boolean; createdAt?: string; startDateIsFixed?: boolean; startDateFixed?: string; dueDateIsFixed?: boolean; dueDateFixed?: string; parentId?: number | string; }; type EditEpicOptions = { addLabels?: string; confidential?: boolean; description?: string; dueDateFixed?: string; dueDateIsFixed?: boolean; labels?: string; parentId?: number | string; removeLabels?: string; startDateFixed?: string; startDateIsFixed?: boolean; stateEvent?: string; title?: string; updatedAt?: string; color?: string; }; declare class Epics extends BaseResource { all(groupId: string | number, options: AllEpicsOptions & PaginationRequestOptions

& Sudo & ShowExpanded & { withLabelsDetails: true; }): Promise>; all(groupId: string | number, options?: AllEpicsOptions & PaginationRequestOptions

& Sudo & ShowExpanded & { withLabelsDetails?: false; }): Promise>; create(groupId: string | number, title: string, options?: CreateEpicOptions & Sudo & ShowExpanded): Promise>; createTodo(groupId: string | number, epicIId: number, options?: Sudo & ShowExpanded): Promise>; edit(groupId: string | number, epicIId: number, options?: EditEpicOptions & Sudo & ShowExpanded): Promise, C, E, void>>; remove(groupId: string | number, epicIId: number, options?: Sudo & ShowExpanded): Promise>; show(groupId: string | number, epicIId: number, options?: Sudo & ShowExpanded): Promise>; } interface GroupAccessRequests extends ResourceAccessRequests { all(groupId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; request(groupId: string | number, options?: Sudo & ShowExpanded): Promise>; approve(groupId: string | number, userId: number, options?: { accessLevel?: Exclude; } & Sudo & ShowExpanded): Promise>; deny(groupId: string | number, userId: number): Promise>; } declare class GroupAccessRequests extends ResourceAccessRequests { constructor(options: BaseResourceOptions); } interface GroupAccessTokens extends ResourceAccessTokens { all(groupId: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(groupId: string | number, name: string, scopes: AccessTokenScopes[], options?: { accessLevel?: Exclude; expiresAt?: string; } & Sudo & ShowExpanded): Promise>; revoke(groupId: string | number, tokenId: string | number, options?: Sudo & ShowExpanded): Promise>; show(groupId: string | number, tokenId: string | number, options?: Sudo & ShowExpanded): Promise>; } declare class GroupAccessTokens extends ResourceAccessTokens { constructor(options: BaseResourceOptions); } interface GroupAnalyticsIssuesCountSchema extends Record { issues_count: number; } interface GroupAnalyticsMRsCountSchema extends Record { merge_requests_count: number; } interface GroupAnalyticsNewMembersCountSchema extends Record { new_members_count: number; } declare class GroupActivityAnalytics extends BaseResource { showIssuesCount(groupPath: string, options?: Sudo & ShowExpanded): Promise>; showMergeRequestsCount(groupPath: string, options?: Sudo & ShowExpanded): Promise>; showNewMembersCount(groupPath: string, options?: Sudo & ShowExpanded): Promise>; } interface GroupBadgeSchema extends BadgeSchema { kind: 'group'; } interface GroupBadges extends ResourceBadges { add(groupId: string | number, linkUrl: string, imageUrl: string, options?: { name?: string; } & Sudo & ShowExpanded): Promise>; all(groupId: string | number, options?: { name?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; edit(groupId: string | number, badgeId: number, options?: EditBadgeOptions & Sudo & ShowExpanded): Promise>; preview(groupId: string | number, linkUrl: string, imageUrl: string, options?: Sudo & ShowExpanded): Promise>; remove(groupId: string | number, badgeId: number, options?: Sudo & ShowExpanded): Promise>; show(groupId: string | number, badgeId: number, options?: Sudo & ShowExpanded): Promise>; } declare class GroupBadges extends ResourceBadges { constructor(options: BaseResourceOptions); } interface GroupCustomAttributes extends ResourceCustomAttributes { all(groupId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; set(groupId: string | number, customAttributeId: string, value: string, options?: Sudo & ShowExpanded): Promise>; remove(groupId: string | number, customAttributeId: string, options?: Sudo): Promise>; show(groupId: string | number, customAttributeId: string, options?: Sudo & ShowExpanded): Promise>; } declare class GroupCustomAttributes extends ResourceCustomAttributes { constructor(options: BaseResourceOptions); } declare class GroupDORA4Metrics extends ResourceDORA4Metrics { constructor(options: BaseResourceOptions); } interface GroupEpicBoardListSchema extends Record { id: number; label: Pick; position: number; list_type: 'label'; collapsed: boolean; } interface GroupEpicBoardSchema extends Record { id: number; name: string; group: CondensedGroupSchema; hide_backlog_list: boolean; hide_closed_list: boolean; labels: LabelSchema[] | null; lists: GroupEpicBoardListSchema[] | null; } declare class GroupEpicBoards extends BaseResource { all(groupId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allLists(groupId: string | number, boardId: number, options?: Sudo & ShowExpanded): Promise>; show(groupId: string | number, boardId: number, options?: Sudo & ShowExpanded): Promise>; showList(groupId: string | number, boardId: number, listId: number, options?: Sudo & ShowExpanded): Promise>; } interface GroupHookSchema extends ExpandedHookSchema { groupId: number; subgroup_events: boolean; } interface GroupHooks { add(groupId: string | number, url: string, options?: AddResourceHookOptions & Sudo & ShowExpanded): Promise>; all(groupId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; edit(groupId: string | number, hookId: number, url: string, options?: EditResourceHookOptions & Sudo & ShowExpanded): Promise>; remove(groupId: string | number, hookId: number, options?: Sudo & ShowExpanded): Promise>; show(groupId: string | number, hookId: number, options?: Sudo & ShowExpanded): Promise>; } declare class GroupHooks extends ResourceHooks { constructor(options: BaseResourceOptions); } declare class GroupImportExports extends BaseResource { download(groupId: string | number, options: { asStream: true; } & Sudo & ShowExpanded): Promise>; download(groupId: string | number, options?: { asStream?: boolean; } & Sudo & ShowExpanded): Promise>; import(file: { content: Blob; filename: string; }, path: string, { parentId, name, ...options }: { parentId?: number; name?: string; } & Sudo & ShowExpanded): Promise>; scheduleExport(groupId: string | number, options?: Sudo & ShowExpanded): Promise>; } interface GroupInvitations { add(groupId: string | number, accessLevel: Exclude, options: OneOf<{ email: string; userId: string; }> & { expiresAt?: string; inviteSource?: string; tasksToBeDone?: string[]; tasksProjectId?: number; } & Sudo & ShowExpanded): Promise>; all(groupId: string | number, options?: PaginationRequestOptions

& { query?: string; } & Sudo & ShowExpanded): Promise>; edit(groupId: string | number, email: string, options?: { expiresAt?: string; accessLevel?: Exclude; } & Sudo & ShowExpanded): Promise>; remove(groupId: string | number, email: string, options?: Sudo & ShowExpanded): Promise>; } declare class GroupInvitations extends ResourceInvitations { constructor(options: BaseResourceOptions); } interface GrouptIssueBoardSchema extends IssueBoardSchema { group: CondensedGroupSchema; } interface GroupIssueBoards extends ResourceIssueBoards { all(groupId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allLists(resourceId: string | number, boardId: number, options?: Sudo & ShowExpanded): Promise>; create(groupId: string | number, name: string, options?: Sudo & ShowExpanded): Promise>; createList(groupId: string | number, boardId: number, options?: Sudo & ShowExpanded): Promise>; edit(groupId: string | number, boardId: number, options?: { hideBacklogList?: boolean; hideClosedList?: boolean; name?: string; assigneeId?: number; milestoneId?: number; labels?: string; weight?: number; } & Sudo & ShowExpanded): Promise>; editList(groupId: string | number, boardId: number, listId: number, position: number, options?: Sudo & ShowExpanded): Promise>; remove(groupId: string | number, boardId: number, options?: Sudo & ShowExpanded): Promise>; removeList(groupId: string | number, boardId: number, listId: number, options?: Sudo & ShowExpanded): Promise>; show(groupId: string | number, boardId: number, options?: Sudo & ShowExpanded): Promise>; showList(groupId: string | number, boardId: number, listId: number, options?: Sudo & ShowExpanded): Promise>; } declare class GroupIssueBoards extends ResourceIssueBoards { constructor(options: BaseResourceOptions); } interface GroupIterations { all(groupId: string | number, options?: AllIterationsOptions & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; } declare class GroupIterations extends ResourceIterations { constructor(options: BaseResourceOptions); } declare class GroupLDAPLinks extends BaseResource { add(groupId: string | number, groupAccess: number, provider: string, options?: { cn?: string; groupAccess?: Exclude; } & Sudo & ShowExpanded): Promise>; all(groupId: string | number, options: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; remove(groupId: string | number, provider: string, options?: { cn?: string; filter?: string; } & Sudo & ShowExpanded): Promise>; sync(groupId: string | number, options?: Sudo & ShowExpanded): Promise | Blob | string[] | CamelizedResponse, C> | CamelizedResponse, C>[] | null>; } interface GroupLabels extends ResourceLabels { all(groupId: string | number, options: { withCounts: true; includeAncestorGroups?: boolean; search?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; all(groupId: string | number, options: { includeAncestorGroups?: boolean; search?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; all(groupId: string | number, options?: { withCounts?: boolean; includeAncestorGroups?: boolean; search?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(groupId: string | number, labelName: string, color: string, options?: { description?: string; priority?: number; } & Sudo & ShowExpanded): Promise>; edit(groupId: string | number, labelId: number | string, options: OneOf<{ newName: string; color: string; }> & { description?: string; priority?: number; } & Sudo & ShowExpanded): Promise>; promote(groupId: string | number, labelId: number | string, options?: Sudo & ShowExpanded): Promise>; remove(groupId: string | number, labelId: number | string, options?: Sudo & ShowExpanded): Promise>; show(projectId: string | number, labelId: number | string, options?: { includeAncestorGroups?: boolean; } & Sudo & ShowExpanded): Promise>; subscribe(groupId: string | number, labelId: number | string, options?: Sudo & ShowExpanded): Promise>; unsubscribe(groupId: string | number, labelId: number | string, options?: Sudo & ShowExpanded): Promise>; } declare class GroupLabels extends ResourceLabels { constructor(options: BaseResourceOptions); } interface MemberRoleSchema extends Record { id: number; group_id: number; base_access_level: number; read_code: boolean; } declare class GroupMemberRoles extends BaseResource { add(groupId: string | number, baseAccessLevel: Exclude, options?: { readCode?: boolean; } & Sudo & ShowExpanded): Promise>; all(groupId: string | number, options: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; remove(groupId: string | number, memberRoleId: number, options?: Sudo & ShowExpanded): Promise>; } interface BillableGroupMemberSchema extends CondensedMemberSchema { last_activity_on: string; membership_type: string; removable: boolean; created_at: string; } interface BillableGroupMemberMembershipSchema extends Record { id: number; source_id: number; source_full_name: string; source_members_url: string; created_at: string; expires_at: string; access_level: { string_value: string; integer_value: Exclude; }; } interface OverrodeGroupMemberSchema extends SimpleMemberSchema { override: boolean; } interface GroupMembers extends ResourceMembers { add(projectId: string | number, userId: number, accessLevel: Exclude, options?: AddMemeberOptions & Sudo & ShowExpanded): Promise>; all(projectId: string | number, options?: IncludeInherited & PaginationRequestOptions

& AllMembersOptions & Sudo & ShowExpanded): Promise>; edit(projectId: string | number, userId: number, accessLevel: Exclude, options?: { expiresAt?: string; memberRoleId?: number; } & Sudo & ShowExpanded): Promise>; show(projectId: string | number, userId: number, options?: IncludeInherited & Sudo & ShowExpanded): Promise>; remove(projectId: string | number, userId: number, options?: Sudo & ShowExpanded): Promise>; } declare class GroupMembers extends ResourceMembers { constructor(options: BaseResourceOptions); allBillable(groupId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allPending(groupId: string | number, options?: Sudo & ShowExpanded): Promise>; allBillableMemberships(groupId: string | number, userId: number, options?: { search?: string; sort?: 'access_level_asc' | 'access_level_desc' | 'last_joined' | 'name_asc' | 'name_desc' | 'oldest_joined' | 'oldest_sign_in' | 'recent_sign_in' | 'last_activity_on_asc' | 'last_activity_on_desc'; } & Sudo & ShowExpanded): Promise>; approve(groupId: string | number, userId: number, options?: Sudo & ShowExpanded): Promise>; approveAll(groupId: string | number, options?: Sudo & ShowExpanded): Promise>; removeBillable(groupId: string | number, userId: number, options?: Sudo & ShowExpanded): Promise>; removeOverrideFlag(groupId: string | number, userId: number, options?: Sudo & ShowExpanded): Promise>; setOverrideFlag(groupId: string | number, userId: number, options?: Sudo & ShowExpanded): Promise>; } interface GroupMilestones extends ResourceMilestones { all(groupId: string | number, options?: AllMilestonesOptions & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; allAssignedIssues(groupId: string | number, milestoneId: number, options?: Sudo & ShowExpanded): Promise>; allAssignedMergeRequests(groupId: string | number, milestoneId: number, options?: Sudo & ShowExpanded): Promise>; allBurndownChartEvents(projectId: string | number, milestoneId: number, options?: Sudo & ShowExpanded): Promise>; create(groupId: string | number, title: string, options?: { description?: string; dueDate?: string; startDate?: string; } & Sudo & ShowExpanded): Promise>; edit(groupId: string | number, milestoneId: number, options?: { title?: string; description?: string; dueDate?: string; startDate?: string; stateEvent?: 'close' | 'activate'; } & Sudo & ShowExpanded): Promise>; remove(groupId: string | number, milestoneId: number, options?: Sudo & ShowExpanded): Promise>; show(groupId: string | number, milestoneId: number, options?: Sudo & ShowExpanded): Promise>; } declare class GroupMilestones extends ResourceMilestones { constructor(options: BaseResourceOptions); } interface GroupProtectedEnvironments { all(groupId: string | number, options?: { search?: string; } & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(groupId: string | number, name: string, deployAccessLevel: ProtectedEnvironmentAccessLevelEntity[], options?: { requiredApprovalCount?: number; approvalRules?: ProtectedEnvironmentAccessLevelEntity[]; } & Sudo & ShowExpanded): Promise>; edit(groupId: string | number, name: string, options?: { deployAccessLevels?: ProtectedEnvironmentAccessLevelEntity[]; requiredApprovalCount?: number; approvalRules?: ProtectedEnvironmentAccessLevelEntity[]; } & Sudo & ShowExpanded): Promise>; show(groupId: string | number, name: string, options?: Sudo & ShowExpanded): Promise>; remove(groupId: string | number, name: string, options?: Sudo & ShowExpanded): Promise>; } declare class GroupProtectedEnvironments extends ResourceProtectedEnvironments { constructor(options: BaseResourceOptions); } interface GroupPushRules extends ResourcePushRules { create(groupId: string | number, options?: CreateAndEditPushRuleOptions & Sudo & ShowExpanded): Promise>; edit(groupId: string | number, options?: CreateAndEditPushRuleOptions & Sudo & ShowExpanded): Promise>; remove(groupId: string | number, options?: Sudo & ShowExpanded): Promise>; show(groupId: string | number, options?: Sudo & ShowExpanded): Promise>; } declare class GroupPushRules extends ResourcePushRules { constructor(options: BaseResourceOptions); } interface GroupRelationExportStatusSchema extends Record { relation: string; status: number; error?: string; updated_at: string; } declare class GroupRelationExports extends BaseResource { download(groupId: string | number, relation: string, options?: Sudo & ShowExpanded): Promise>; exportStatus(groupId: string | number, options?: Sudo & ShowExpanded): Promise>; scheduleExport(groupId: string | number, options?: BaseRequestOptions): Promise>; } declare class GroupReleases extends BaseResource { all(groupId: string | number, options?: PaginationRequestOptions

& BaseRequestOptions): Promise>; } interface GroupRepositoryStorageMoveSchema extends RepositoryStorageMoveSchema { group: Pick; } interface GroupRepositoryStorageMoves extends ResourceRepositoryStorageMoves { all(options?: { groupId?: string | number; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; show(repositoryStorageId: number, options?: { groupId?: string | number; } & Sudo & ShowExpanded): Promise>; schedule(sourceStorageName: string, options?: { groupId?: string | number; destinationStorageName?: string; } & Sudo & ShowExpanded): Promise>; } declare class GroupRepositoryStorageMoves extends ResourceRepositoryStorageMoves { constructor(options: BaseResourceOptions); } interface IdentitySchema extends Record { extern_uid: string; user_id: number; } declare class GroupSAMLIdentities extends BaseResource { all(groupId: string | number, options: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; edit(groupId: string | number, identityId: string, options: Sudo & ShowExpanded): Promise>; } interface SAMLGroupSchema extends Record { name: string; access_level: number; } declare class GroupSAMLLinks extends BaseResource { all(groupId: string | number, options: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(groupId: string | number, samlGroupName: string, accessLevel: Exclude, options?: Sudo & ShowExpanded): Promise>; remove(groupId: string | number, samlGroupName: string, options?: Sudo & ShowExpanded): Promise>; show(groupId: string | number, samlGroupName: string, options: Sudo & ShowExpanded): Promise>; } declare class GroupSCIMIdentities extends BaseResource { all(groupId: string | number, options: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; edit(groupId: string | number, identityId: string, options: Sudo & ShowExpanded): Promise>; } interface GroupServiceAccountSchema extends Record { id: number; username: string; name: string; } type ServiceAccountAccessTokenSchema = MappedOmit; declare class GroupServiceAccounts extends BaseResource { create(groupId: string | number, options?: Sudo & ShowExpanded): Promise>; addPersonalAccessToken(groupId: string | number, serviceAccountId: number, options?: Sudo & ShowExpanded): Promise>; rotatePersonalAccessToken(groupId: string | number, serviceAccountId: number, tokenId: number, options?: Sudo & ShowExpanded): Promise>; } interface GroupVariables extends ResourceVariables { all(groupId: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(groupId: string | number, key: string, value: string, options?: { variableType?: VariableType; protected?: boolean; masked?: boolean; environmentScope?: string; } & Sudo & ShowExpanded): Promise>; edit(groupId: string | number, key: string, value: string, options?: { variableType?: VariableType; protected?: boolean; masked?: boolean; environmentScope?: string; } & Sudo & ShowExpanded): Promise>; show(groupId: string | number, key: string, options?: Sudo & ShowExpanded): Promise>; remove(groupId: string | number, key: string, options?: Sudo & ShowExpanded): Promise>; } declare class GroupVariables extends ResourceVariables { constructor(options: BaseResourceOptions); } interface GroupWikis extends ResourceWikis { all(groupId: string | number, options: { withContent: true; } & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; all(groupId: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; all(groupId: string | number, options?: { withContent?: boolean; } & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(groupId: string | number, content: string, title: string, options?: { format?: string; } & Sudo & ShowExpanded): Promise>; edit(groupId: string | number, slug: string, options?: OneOf<{ content: string; title: string; }> & { format?: string; } & Sudo & ShowExpanded): Promise>; remove(groupId: string | number, slug: string, options?: Sudo & ShowExpanded): Promise>; show(groupId: string | number, slug: string, options?: { renderHtml?: boolean; version?: string; } & Sudo & ShowExpanded): Promise>; uploadAttachment(groupId: string | number, file: { content: Blob; filename: string; }, options?: { branch?: string; } & Sudo & ShowExpanded): Promise>; } declare class GroupWikis extends ResourceWikis { constructor(options: BaseResourceOptions); } interface RelatedEpicSchema extends EpicSchema { related_epic_link_id: number; } interface RelatedEpicLinkSchema extends Record { source_epic: RelatedEpicSchema; target_epic: RelatedEpicSchema; } type RelatedEpicLinkType = 'relates_to' | 'blocks' | 'is_blocked_by'; declare class LinkedEpics extends BaseResource { all(groupId: string | number, epicIId: number, options?: { createdAfter?: string; createdBefore?: string; updatedAfter?: string; updatedBefore?: string; } & Sudo & ShowExpanded & PaginationRequestOptions

): Promise>; create(groupId: string | number, epicIId: number, targetEpicIId: string | number, targetGroupId: string | number, options?: { linkType?: RelatedEpicLinkType; } & Sudo & ShowExpanded): Promise>; remove(groupId: string | number, epicIId: number, relatedEpicLinkId: string | number, options?: Sudo & ShowExpanded): Promise>; } interface UserCustomAttributes extends ResourceCustomAttributes { all(userId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; remove(userId: string | number, customAttributeId: string, options?: Sudo): Promise>; set(userId: string | number, customAttributeId: string, value: string, options?: Sudo & ShowExpanded): Promise>; show(userId: string | number, customAttributeId: string, options?: Sudo & ShowExpanded): Promise>; } declare class UserCustomAttributes extends ResourceCustomAttributes { constructor(options: BaseResourceOptions); } interface UserEmailSchema extends Record { id: number; email: string; confirmed_at: string; } declare class UserEmails extends BaseResource { add(email: string, options?: { userId?: number; skipConfirmation?: boolean; } & Sudo & ShowExpanded): Promise>; all({ userId, ...options }?: { userId?: number; } & Sudo & ShowExpanded): Promise>; create(email: string, { userId, ...options }?: { userId?: number; skipConfirmation?: boolean; } & Sudo & ShowExpanded): Promise>; show(emailId: number, options?: Sudo & ShowExpanded): Promise>; remove(emailId: number, { userId, ...options }?: { userId?: number; } & Sudo & ShowExpanded): Promise>; } interface UserGPGKeySchema extends Record { id: number; key: string; created_at: string; } declare class UserGPGKeys extends BaseResource { add(key: string, options?: { userId?: number; } & Sudo & ShowExpanded): Promise>; all({ userId, ...options }?: { userId?: number; } & Sudo & ShowExpanded): Promise>; create(key: string, { userId, ...options }?: { userId?: number; } & Sudo & ShowExpanded): Promise>; show(keyId: number, { userId, ...options }?: { userId?: number; } & Sudo & ShowExpanded): Promise>; remove(keyId: number, { userId, ...options }?: { userId?: number; } & Sudo & ShowExpanded): Promise>; } type ImpersonationTokenScope = 'api' | 'read_api' | 'read_user' | 'create_runner' | 'read_repository' | 'write_repository' | 'read_registry' | 'write_registry' | 'sudo' | 'admin_mode'; type ImpersonationTokenState = 'all' | 'active' | 'inactive'; interface UserImpersonationTokenSchema extends Record { active: boolean; user_id: number; scopes?: string[]; revoked: boolean; name: string; id: number; created_at: string; impersonation: boolean; expires_at: string; token?: string; } declare class UserImpersonationTokens extends BaseResource { all(userId: number, options?: { state?: ImpersonationTokenState; } & PaginationRequestOptions

& Sudo & ShowExpanded): Promise>; create(userId: number, name: string, scopes: ImpersonationTokenScope[], options?: { expiresAt?: string; } & Sudo & ShowExpanded): Promise>; show(userId: number, tokenId: number, options?: Sudo & ShowExpanded): Promise>; remove(userId: number, tokenId: number, options?: Sudo & ShowExpanded): Promise>; revoke(userId: number, tokenId: number, options?: Sudo & ShowExpanded): Promise>; } interface UserSSHKeySchema extends Record { id: number; key: string; title: string; created_at: string; } declare class UserSSHKeys extends BaseResource { add(title: string, key: string, options?: { userId?: number; expiresAt?: string; usageType?: 'auth' | 'signing' | 'auth_and_signing'; } & Sudo & ShowExpanded): Promise>; all({ userId, ...options }?: { userId?: number; } & Sudo & ShowExpanded): Promise>; create(title: string, key: string, { userId, ...options }?: { userId?: number; expiresAt?: string; usageType?: 'auth' | 'signing' | 'auth_and_signing'; } & Sudo & ShowExpanded): Promise>; show(keyId: number, { userId, ...options }?: { userId?: number; } & Sudo & ShowExpanded): Promise>; remove(keyId: number, { userId, ...options }?: { userId?: number; } & Sudo & ShowExpanded): Promise>; } interface Gitlab extends BaseResource { Agents: Agents; AlertManagement: AlertManagement; ApplicationAppearance: ApplicationAppearance; ApplicationPlanLimits: ApplicationPlanLimits; Applications: Applications; ApplicationSettings: ApplicationSettings; ApplicationStatistics: ApplicationStatistics; AuditEvents: AuditEvents; Avatar: Avatar; BroadcastMessages: BroadcastMessages; CodeSuggestions: CodeSuggestions; Composer: Composer; Conan: Conan; DashboardAnnotations: DashboardAnnotations; Debian: Debian; DependencyProxy: DependencyProxy; DeployKeys: DeployKeys; DeployTokens: DeployTokens; DockerfileTemplates: DockerfileTemplates; Events: Events; Experiments: Experiments; GeoNodes: GeoNodes; GeoSites: GeoSites; GitignoreTemplates: GitignoreTemplates; GitLabCIYMLTemplates: GitLabCIYMLTemplates; Import: Import; InstanceLevelCICDVariables: InstanceLevelCICDVariables; Keys: Keys; License: License; LicenseTemplates: LicenseTemplates; Lint: Lint; Markdown: Markdown; Maven: Maven; Metadata: Metadata; Migrations: Migrations; Namespaces: Namespaces; NotificationSettings: NotificationSettings; NPM: NPM; NuGet: NuGet; PersonalAccessTokens: PersonalAccessTokens; PyPI: PyPI; RubyGems: RubyGems; Search: Search; SearchAdmin: SearchAdmin; ServiceAccounts: ServiceAccounts; ServiceData: ServiceData; SidekiqMetrics: SidekiqMetrics; SidekiqQueues: SidekiqQueues; SnippetRepositoryStorageMoves: SnippetRepositoryStorageMoves; Snippets: Snippets; Suggestions: Suggestions; SystemHooks: SystemHooks; TodoLists: TodoLists; Topics: Topics; Branches: Branches; CommitDiscussions: CommitDiscussions; Commits: Commits; ContainerRegistry: ContainerRegistry; Deployments: Deployments; Environments: Environments; ErrorTrackingClientKeys: ErrorTrackingClientKeys; ErrorTrackingSettings: ErrorTrackingSettings; ExternalStatusChecks: ExternalStatusChecks; FeatureFlags: FeatureFlags; FeatureFlagUserLists: FeatureFlagUserLists; FreezePeriods: FreezePeriods; GitlabPages: GitlabPages; GoProxy: GoProxy; Helm: Helm; Integrations: Integrations; IssueAwardEmojis: IssueAwardEmojis; IssueDiscussions: IssueDiscussions; IssueIterationEvents: IssueIterationEvents; IssueLabelEvents: IssueLabelEvents; IssueLinks: IssueLinks; IssueMilestoneEvents: IssueMilestoneEvents; IssueNoteAwardEmojis: IssueNoteAwardEmojis; IssueNotes: IssueNotes; Issues: Issues; IssuesStatistics: IssuesStatistics; IssueStateEvents: IssueStateEvents; IssueWeightEvents: IssueWeightEvents; JobArtifacts: JobArtifacts; Jobs: Jobs; MergeRequestApprovals: MergeRequestApprovals; MergeRequestAwardEmojis: MergeRequestAwardEmojis; MergeRequestContextCommits: MergeRequestContextCommits; MergeRequestDiscussions: MergeRequestDiscussions; MergeRequestLabelEvents: MergeRequestLabelEvents; MergeRequestMilestoneEvents: MergeRequestMilestoneEvents; MergeRequestDraftNotes: MergeRequestDraftNotes; MergeRequestNotes: MergeRequestNotes; MergeRequestNoteAwardEmojis: MergeRequestNoteAwardEmojis; MergeRequests: MergeRequests; MergeTrains: MergeTrains; PackageRegistry: PackageRegistry; Packages: Packages; PagesDomains: PagesDomains; Pipelines: Pipelines; PipelineSchedules: PipelineSchedules; PipelineScheduleVariables: PipelineScheduleVariables; PipelineTriggerTokens: PipelineTriggerTokens; ProductAnalytics: ProductAnalytics; ProjectAccessRequests: ProjectAccessRequests; ProjectAccessTokens: ProjectAccessTokens; ProjectAliases: ProjectAliases; ProjectBadges: ProjectBadges; ProjectCustomAttributes: ProjectCustomAttributes; ProjectDORA4Metrics: ProjectDORA4Metrics; ProjectHooks: ProjectHooks; ProjectImportExports: ProjectImportExports; ProjectInvitations: ProjectInvitations; ProjectIssueBoards: ProjectIssueBoards; ProjectIterations: ProjectIterations; ProjectLabels: ProjectLabels; ProjectMembers: ProjectMembers; ProjectMilestones: ProjectMilestones; ProjectProtectedEnvironments: ProjectProtectedEnvironments; ProjectPushRules: ProjectPushRules; ProjectRelationsExport: ProjectRelationsExport; ProjectReleases: ProjectReleases; ProjectRemoteMirrors: ProjectRemoteMirrors; ProjectRepositoryStorageMoves: ProjectRepositoryStorageMoves; Projects: Projects; ProjectSnippetAwardEmojis: ProjectSnippetAwardEmojis; ProjectSnippetDiscussions: ProjectSnippetDiscussions; ProjectSnippetNotes: ProjectSnippetNotes; ProjectSnippets: ProjectSnippets; ProjectStatistics: ProjectStatistics; ProjectTemplates: ProjectTemplates; ProjectVariables: ProjectVariables; ProjectVulnerabilities: ProjectVulnerabilities; ProjectWikis: ProjectWikis; ProtectedBranches: ProtectedBranches; ProtectedTags: ProtectedTags; ReleaseLinks: ReleaseLinks; Repositories: Repositories; RepositoryFiles: RepositoryFiles; RepositorySubmodules: RepositorySubmodules; ResourceGroups: ResourceGroups; Runners: Runners; SecureFiles: SecureFiles; Tags: Tags; UserStarredMetricsDashboard: UserStarredMetricsDashboard; EpicAwardEmojis: EpicAwardEmojis; EpicDiscussions: EpicDiscussions; EpicIssues: EpicIssues; EpicLabelEvents: EpicLabelEvents; EpicLinks: EpicLinks; EpicNotes: EpicNotes; Epics: Epics; GroupAccessRequests: GroupAccessRequests; GroupAccessTokens: GroupAccessTokens; GroupActivityAnalytics: GroupActivityAnalytics; GroupBadges: GroupBadges; GroupCustomAttributes: GroupCustomAttributes; GroupDORA4Metrics: GroupDORA4Metrics; GroupEpicBoards: GroupEpicBoards; GroupHooks: GroupHooks; GroupImportExports: GroupImportExports; GroupInvitations: GroupInvitations; GroupIssueBoards: GroupIssueBoards; GroupIterations: GroupIterations; GroupLabels: GroupLabels; GroupLDAPLinks: GroupLDAPLinks; GroupMembers: GroupMembers; GroupMemberRoles: GroupMemberRoles; GroupMilestones: GroupMilestones; GroupProtectedEnvironments: GroupProtectedEnvironments; GroupPushRules: GroupPushRules; GroupRelationExports: GroupRelationExports; GroupReleases: GroupReleases; GroupRepositoryStorageMoves: GroupRepositoryStorageMoves; Groups: Groups; GroupSAMLIdentities: GroupSAMLIdentities; GroupSAMLLinks: GroupSAMLLinks; GroupSCIMIdentities: GroupSCIMIdentities; GroupServiceAccounts: GroupServiceAccounts; GroupVariables: GroupVariables; GroupWikis: GroupWikis; LinkedEpics: LinkedEpics; UserCustomAttributes: UserCustomAttributes; UserEmails: UserEmails; UserGPGKeys: UserGPGKeys; UserImpersonationTokens: UserImpersonationTokens; Users: Users; UserSSHKeys: UserSSHKeys; } declare class Gitlab extends BaseResource { constructor(options: BaseResourceOptions); } interface WebhookRepositorySchema { name: string; url: string; description: string; homepage: string; git_http_url: string; git_ssh_url: string; visibility_level: number; } interface WebhookLabelSchema { id: number; title: string; color: string; project_id: number; created_at: string; updated_at: string; template: boolean; description: string; type: string; group_id: number; } interface WebhookProjectSchema { name: string; description: string; web_url: string; avatar_url: string | null; git_ssh_url: string; git_http_url: string; namespace: string; visibility_level: number; path_with_namespace: string; default_branch: string; homepage: string; url: string; ssh_url: string; http_url: string; } interface WebhookPipelineSchema { project: { id: number; web_url: string; path_with_namespace: string; }; pipeline_id: number; job_id: number; } interface WebhookDiffSchema { diff: string; new_path: string; old_path: string; a_mode: string; b_mode: string; new_file: boolean; renamed_file: boolean; deleted_file: boolean; } interface BaseWebhookEventSchema { object_kind: string; event_name: string; project: WebhookProjectSchema; user: MappedOmit; } interface WebhookBaseNoteEventSchema extends BaseWebhookEventSchema { object_kind: 'note'; event_type: 'note'; project_id: number; repository: { name: string; url: string; description: string; homepage: string; }; object_attributes: { id: number; note: string; noteable_type: string; author_id: number; created_at: string; updated_at: string; project_id: number; attachment: string | null; line_code: string; commit_id: string; noteable_id: string | null; system: boolean; st_diff: WebhookDiffSchema | null; url: string; }; } interface WebhookBasePushEventSchema extends MappedOmit { before: string; after: string; ref: string; ref_protected: boolean; checkout_sha: string; user_id: number; user_name: string; user_avatar: string; project_id: number; repository: WebhookRepositorySchema; commits: { id: string; message: string; title: string; timestamp: string; url: string; author: { name: string; email: string; }; added: string[] | null; modified: string[] | null; removed: string[] | null; }[] | null; total_commits_count: number; } interface WebhookTagEventSchema extends WebhookBasePushEventSchema { object_kind: 'tag_push'; event_name: 'tag_push'; } interface WebhookPushEventSchema extends WebhookBasePushEventSchema { object_kind: 'push'; event_name: 'push'; user_username: string; user_email: string; } interface WebhookIssueEventSchema extends BaseWebhookEventSchema { object_kind: 'issue'; event_type: 'issue'; object_attributes: { id: number; title: string; assignee_ids: number[] | null; assignee_id: number; author_id: number; project_id: number; created_at: string; updated_at: string; updated_by_id: number; last_edited_at: string | null; last_edited_by_id: number | null; relative_position: number; description: string; milestone_id: number | null; state_id: number; confidential: boolean; discussion_locked: boolean; due_date: string | null; moved_to_id: number | null; duplicated_to_id: number | null; time_estimate: number; total_time_spent: number; time_change: number; human_total_time_spent: string | null; human_time_estimate: string | null; human_time_change: string | null; weight: number | null; health_status: string; iid: number; url: string; state: string; action: string; severity: string; escalation_status: string; escalation_policy: { id: number; name: string; }; labels: WebhookLabelSchema[] | null; }; repository: { name: string; url: string; description: string; homepage: string; }; assignees: Pick[] | null; assignee: Pick | null; labels: WebhookLabelSchema[] | null; changes: { updated_by_id: { previous: string | null; current: string; }; updated_at: { previous: string; current: string; }; labels: { previous: WebhookLabelSchema[] | null; current: WebhookLabelSchema[] | null; }; }; } interface WebhookCommitNoteEventSchema extends WebhookBaseNoteEventSchema { commit: { id: string; message: string; timestamp: string; url: string; author: { name: string; email: string; }; }; } interface WebhookMergeRequestNoteEventSchema extends WebhookBaseNoteEventSchema { merge_request: { id: number; target_branch: string; source_branch: string; source_project_id: number; author_id: number; assignee_id: number; title: string; created_at: string; updated_at: string; milestone_id: number; state: string; merge_status: string; target_project_id: number; iid: number; description: string; position: number; labels: WebhookLabelSchema[] | null; source: WebhookProjectSchema; target: WebhookProjectSchema; last_commit: { id: string; message: string; timestamp: string; url: string; author: { name: string; email: string; }; }; work_in_progress: boolean; draft: boolean; assignee: Pick | null; detailed_merge_status: string; }; } interface WebhookIssueNoteEventSchema extends WebhookBaseNoteEventSchema { issue: { id: number; title: string; assignee_ids: number[] | null; assignee_id: number | null; author_id: number; project_id: number; created_at: string; updated_at: string; position: number; branch_name: string | null; description: string; milestone_id: number | null; state: string; iid: number; labels: WebhookLabelSchema[] | null; }; } interface WebhookSnippetNoteEventSchema extends WebhookBaseNoteEventSchema { snippet: { id: number; title: string; content: string; author_id: number; project_id: number; created_at: string; updated_at: string; file_name: string; expires_at: string | null; type: string; visibility_level: number; url: string; }; } interface WebhookMergeRequestEventSchema extends BaseWebhookEventSchema { object_kind: 'merge_request'; event_type: 'merge_request'; repository: WebhookRepositorySchema; object_attributes: { id: number; iid: number; target_branch: string; source_branch: string; source_project_id: number; author_id: number; assignee_ids: number[] | null; assignee_id: number; reviewer_ids: number[] | null; title: string; created_at: string; updated_at: string; last_edited_at: string; last_edited_by_id: number; milestone_id: number | null; state_id: number; state: string; blocking_discussions_resolved: boolean; work_in_progress: boolean; draft: boolean; first_contribution: boolean; merge_status: string; target_project_id: number; description: string; total_time_spent: number; time_change: number; human_total_time_spent: string; human_time_change: string; human_time_estimate: string; url: string; source: WebhookProjectSchema; target: WebhookProjectSchema; last_commit: { id: string; message: string; title: string; timestamp: string; url: string; author: { name: string; email: string; }; }; labels: WebhookLabelSchema[] | null; action: string; detailed_merge_status: string; }; labels: WebhookLabelSchema[] | null; changes: { updated_by_id: { previous: number | null; current: number | null; }; draft: { previous: boolean | null; current: boolean | null; }; updated_at: { previous: string | null; current: string | null; }; labels: { previous: WebhookLabelSchema[] | null; current: WebhookLabelSchema[] | null; }; last_edited_at: { previous: string | null; current: string | null; }; last_edited_by_id: { previous: number | null; current: number | null; }; }; assignees: Pick[] | null; reviewers: WebhookLabelSchema[] | null; } interface WebhookWikiEventSchema extends MappedOmit { object_kind: 'wiki_page'; wiki: { web_url: string; git_ssh_url: string; git_http_url: string; path_with_namespace: string; default_branch: string; }; object_attributes: { title: string; content: string; format: string; message: string; slug: string; url: string; action: string; diff_url: string; }; } interface WebhookPipelineEventSchema extends MappedOmit { object_kind: 'pipeline'; object_attributes: { id: number; iid: number; name: string; ref: string; tag: boolean; sha: string; before_sha: string; source: string; status: string; stages: string[] | null; created_at: string; finished_at: string; duration: number; variables: { key: string; value: string; }[] | null; url: string; }; merge_request: { id: number; iid: number; title: string; source_branch: string; source_project_id: number; target_branch: string; target_project_id: number; state: string; merge_status: string; detailed_merge_status: string; url: string; }; commit: { id: string; message: string; timestamp: string; url: string; author: { name: string; email: string; }; }; source_pipeline: WebhookPipelineSchema; builds: { id: number; stage: string; name: string; status: string; created_at: string; started_at: string | null; finished_at: string | null; duration: number | null; queued_duration: number | null; failure_reason: string | null; when: string; manual: boolean; allow_failure: boolean; user: MappedOmit; runner: { id: number; description: string; active: boolean; runner_type: string; is_shared: boolean; tags: string[] | null; } | null; artifacts_file: { filename: string | null; size: string | null; }; environment: { name: string; action: string; deployment_tier: string; } | null; }[] | null; } interface WebhookJobEventSchema extends MappedOmit { object_kind: 'build'; ref: string; tag: boolean; before_sha: string; sha: string; build_id: number; build_name: string; build_stage: string; build_status: string; build_created_at: string; build_started_at: string | null; build_finished_at: string | null; build_duration: number | null; build_queued_duration: number; build_allow_failure: boolean; build_failure_reason: string; retries_count: number; pipeline_id: number; project_id: number; project_name: string; commit: { id: number; name: string; sha: string; message: string; author_name: string; author_email: string; status: string; duration: number | null; started_at: string | null; finished_at: string | null; }; repository: WebhookRepositorySchema; runner: { active: boolean; runner_type: string; is_shared: boolean; id: number; description: string; tags: string[] | null; }; environment: { name: string; action: string; deployment_tier: string; } | null; source_pipeline: WebhookPipelineSchema; } interface WebhookDeploymentEventSchema extends MappedOmit { object_kind: 'deployment'; status: string; status_changed_at: string; deployment_id: number; deployable_id: number; deployable_url: string; environment: string; environment_tier: string; environment_slug: string; environment_external_url: string; short_sha: string; user_url: string; commit_url: string; commit_title: string; } interface WebhookGroupMemberEventSchema { event_name: 'user_remove_from_group' | 'user_update_for_group'; created_at: string; updated_at: string; group_name: string; group_path: string; group_id: number; user_username: string; user_name: string; user_email: string; user_id: number; group_access: string; group_plan: string | null; expires_at: string; } interface WebhookSubGroupEventSchema { event_name: 'subgroup_create' | 'subgroup_destroy'; created_at: string; updated_at: string; name: string; path: string; full_path: string; group_id: number; parent_group_id: number; parent_name: string; parent_path: string; parent_full_path: string; } interface WebhookFeatureFlagEventSchema extends MappedOmit { object_kind: 'feature_flag'; user_url: string; object_attributes: { id: number; name: string; description: string; active: boolean; }; } interface WebhookReleaseEventSchema { object_kind: 'release'; project: WebhookProjectSchema; id: number; created_at: string; description: string; name: string; released_at: string; tag: string; url: string; action: string; assets: { count: number; links: { id: number; link_type: string; name: string; url: string; }[] | null; sources: { format: string; url: string; }[] | null; }; commit: { id: string; message: string; title: string; timestamp: string; url: string; author: { name: string; email: string; }; }; } interface WebhookEmojiEventSchema extends BaseWebhookEventSchema { object_kind: 'emoji'; event_type: 'award'; project_id: number; object_attributes: { user_id: number; created_at: string; id: number; name: string; awardable_type: string; awardable_id: number; updated_at: string; action: string; awarded_on_url: string; }; note: { attachment: string | null; author_id: number; change_position: boolean | null; commit_id: number | null; created_at: string; discussion_id: string; id: number; line_code: string | null; note: string; noteable_id: number; noteable_type: string; original_position: number | null; position: number | null; project_id: number; resolved_at: string | null; resolved_by_id: number | null; resolved_by_push: boolean | null; st_diff: WebhookDiffSchema | null; system: boolean; type: string | null; updated_at: string; updated_by_id: number | null; description: string; url: string; }; issue: { author_id: number; closed_at: string | null; confidential: boolean; created_at: string; description: string; discussion_locked: boolean | null; due_date: string | null; id: number; iid: number; last_edited_at: string | null; last_edited_by_id: number | null; milestone_id: number | null; moved_to_id: number | null; duplicated_to_id: number | null; project_id: number; relative_position: number; state_id: number; time_estimate: number; title: string; updated_at: string; updated_by_id: number | null; weight: number | null; health_status: string | null; url: string; total_time_spent: number; time_change: number; human_total_time_spent: string | null; human_time_change: string | null; human_time_estimate: string | null; assignee_ids: number[] | null; assignee_id: number; labels: WebhookLabelSchema[] | null; state: string; severity: string; }; } export { type AcceptMergeRequestOptions, AccessLevel, type AccessLevelSettingState, type AccessRequestSchema, type AccessTokenSchema, type AccessTokenScopes, type AddMemeberOptions, type AddResourceHookOptions, Agents, AlertManagement, type AllAuditEventOptions, type AllCommitsOptions, type AllDeploymentsOptions, type AllEpicsOptions, type AllEventOptions, type AllForksOptions, type AllGroupProjectsOptions, type AllGroupsOptions, type AllIssueStatisticsOptions, type AllIssuesOptions, type AllIterationsOptions, type AllMembersOptions, type AllMergeRequestsOptions, type AllMilestonesOptions, type AllPackageOptions, type AllPersonalAccessTokenOptions, type AllPipelinesOptions, type AllProjectsOptions, type AllProvisionedUsersOptions, type AllRepositoryTreesOptions, type AllRunnersOptions, type AllSearchOptions, type AllUserProjectsOptions, type AllUsersOptions, type AllowedAgentSchema, ApplicationAppearance, type ApplicationAppearanceSchema, type ApplicationPlanLimitOptions, type ApplicationPlanLimitSchema, ApplicationPlanLimits, type ApplicationSchema, ApplicationSettings, type ApplicationSettingsSchema, type ApplicationStatisticSchema, ApplicationStatistics, Applications, type ApprovalRuleSchema, type ApprovalStateSchema, type ApprovedByEntity, type ArchiveType, type ArtifactSchema, type AsStream, type AuditEventSchema, AuditEvents, Avatar, type AvatarSchema, type AwardEmojiSchema, type BadgeSchema, type BaseExternalStatusCheckSchema, type BasePaginationRequestOptions, type BaseRequestOptions, type BaseWebhookEventSchema, type BillableGroupMemberMembershipSchema, type BillableGroupMemberSchema, type BlobSchema, type BranchSchema, Branches, type BridgeSchema, type BroadcastMessageOptions, type BroadcastMessageSchema, BroadcastMessages, type BurndownChartEventSchema, type CICDVariableSchema, type Camelize, type ClusterAgentSchema, type ClusterAgentTokenSchema, type CodeCompletionSchema, type CodeSuggestionSchema, CodeSuggestions, type CommitAction, type CommitCommentSchema, type CommitDiffSchema, type CommitDiscussionNoteSchema, type CommitDiscussionSchema, CommitDiscussions, type CommitReferenceSchema, type CommitSchema, type CommitSignatureSchema, type CommitStatsSchema, type CommitStatusSchema, type CommitablePipelineStatus, Commits, Composer, type ComposerPackageMetadataSchema, type ComposerV1BaseRepositorySchema, type ComposerV1PackagesSchema, type ComposerV2BaseRepositorySchema, Conan, type CondensedBadgeSchema, type CondensedCommitCommentSchema, type CondensedCommitSchema, type CondensedDeployKeySchema, type CondensedEnvironmentSchema, type CondensedEpicLinkSchema, type CondensedGroupSchema, type CondensedJobSchema, type CondensedMemberSchema, type CondensedMergeRequestSchema, type CondensedNamespaceSchema, type CondensedPipelineScheduleSchema, type CondensedProjectSchema, type CondensedRegistryRepositorySchema, type CondensedRegistryRepositoryTagSchema, ContainerRegistry, type CreateAndEditPushRuleOptions, type CreateApprovalRuleOptions, type CreateCommitOptions, type CreateEpicOptions, type CreateFeatureFlagOptions, type CreateGeoNodeOptions, type CreateGeoSiteOptions, type CreateGroupOptions, type CreateIssueOptions, type CreateMergeRequestOptions, type CreateProjectOptions, type CreateProtectedBranchAllowOptions, type CreateProtectedBranchOptions, type CreateRepositoryFileOptions, type CreateRunnerOptions, type CreateSnippetOptions, type CreateSystemHook, type CreateUserCIRunnerOptions, type CreateUserOptions, type CustomAttributeSchema, type CustomSettingLevelEmailEvents, type DORA4MetricSchema, type DashboardAnnotationSchema, DashboardAnnotations, Debian, DependencyProxy, type DeployKeyProjectsSchema, type DeployKeySchema, DeployKeys, type DeployTokenSchema, type DeployTokenScope, DeployTokens, type DeployableSchema, type DeploymentApprovalStatusSchema, type DeploymentSchema, type DeploymentStatus, Deployments, type DiffRefsSchema, type DiscussionNotePositionBaseSchema, type DiscussionNotePositionImageSchema, type DiscussionNotePositionOptions, type DiscussionNotePositionSchema, type DiscussionNotePositionTextSchema, type DiscussionNoteSchema, type DiscussionSchema, DockerfileTemplates, type EditApprovalRuleOptions, type EditBadgeOptions, type EditChangelogOptions, type EditConfigurationOptions, type EditEpicOptions, type EditFeatureFlagOptions, type EditGeoNodeOptions, type EditGeoSiteOptions, type EditGroupOptions, type EditIssueOptions, type EditMergeRequestOptions, type EditNotificationSettingsOptions, type EditPipelineStatusOptions, type EditProjectOptions, type EditProtectedBranchAllowOptions, type EditProtectedBranchOptions, type EditRepositoryFileOptions, type EditResourceHookOptions, type EditRunnerOptions, type EditSnippetOptions, type EditUserOptions, type EnvironmentSchema, type EnvironmentTier, Environments, EpicAwardEmojis, EpicDiscussions, type EpicIssueSchema, EpicIssues, EpicLabelEvents, type EpicLinkSchema, EpicLinks, type EpicNoteSchema, EpicNotes, type EpicSchema, type EpicSchemaWithBasicLabels, type EpicSchemaWithExpandedLabels, type EpicTodoSchema, Epics, type ErrorTrackingClientKeySchema, ErrorTrackingClientKeys, ErrorTrackingSettings, type ErrorTrackingSettingsSchema, type EventSchema, Events, type ExpandedCommitSchema, type ExpandedDeployKeySchema, type ExpandedEpicIssueSchema, type ExpandedGroupSchema, type ExpandedHookSchema, type ExpandedIssueLinkSchema, type ExpandedMergeRequestDiffVersionsSchema, type ExpandedMergeRequestSchema, type ExpandedPackageSchema, type ExpandedPipelineScheduleSchema, type ExpandedPipelineSchema, type ExpandedRepositoryImportStatusSchema, type ExpandedResponse, type ExpandedRunnerSchema, type ExpandedSnippetSchema, type ExpandedUserSchema, type ExperimentGateSchema, type ExperimentSchema, Experiments, type ExportStatusSchema, type ExtendedProtectedBranchAccessLevelSchema, type ExternalStatusCheckProtectedBranchesSchema, ExternalStatusChecks, type FailedRelationSchema, type FeatureFlagSchema, type FeatureFlagStrategySchema, type FeatureFlagStrategyScopeSchema, type FeatureFlagUserListSchema, FeatureFlagUserLists, FeatureFlags, type ForkProjectOptions, type FreezePeriodSchema, FreezePeriods, type GPGSignatureSchema, type GeoNodeFailureSchema, type GeoNodeSchema, type GeoNodeStatusSchema, GeoNodes, type GeoSiteFailureSchema, type GeoSiteSchema, type GeoSiteStatusSchema, GeoSites, GitLabCIYMLTemplates, GitignoreTemplates, Gitlab, type GitlabAPIResponse, GitlabPages, GoProxy, type GoProxyModuleVersionSchema, GroupAccessRequests, GroupAccessTokens, GroupActivityAnalytics, type GroupAnalyticsIssuesCountSchema, type GroupAnalyticsMRsCountSchema, type GroupAnalyticsNewMembersCountSchema, type GroupBadgeSchema, GroupBadges, GroupCustomAttributes, GroupDORA4Metrics, type GroupEpicBoardListSchema, type GroupEpicBoardSchema, GroupEpicBoards, type GroupHookSchema, GroupHooks, GroupImportExports, GroupInvitations, GroupIssueBoards, GroupIterations, GroupLDAPLinks, GroupLabels, GroupMemberRoles, GroupMembers, GroupMilestones, GroupProtectedEnvironments, GroupPushRules, type GroupRelationExportStatusSchema, GroupRelationExports, GroupReleases, type GroupRepositoryStorageMoveSchema, GroupRepositoryStorageMoves, GroupSAMLIdentities, GroupSAMLLinks, GroupSCIMIdentities, type GroupSchema, type GroupServiceAccountSchema, GroupServiceAccounts, type GroupStatisticsSchema, GroupVariables, GroupWikis, Groups, type GrouptIssueBoardSchema, Helm, type HookSchema, type IdentitySchema, type ImpersonationTokenScope, type ImpersonationTokenState, Import, type ImportStatusSchema, type IncludeInherited, InstanceLevelCICDVariables, type IntegrationSchema, Integrations, type InvitationSchema, type IsForm, IssueAwardEmojis, type IssueBoardListSchema, type IssueBoardSchema, IssueDiscussions, IssueIterationEvents, IssueLabelEvents, type IssueLinkSchema, IssueLinks, IssueMilestoneEvents, IssueNoteAwardEmojis, type IssueNoteSchema, IssueNotes, type IssueSchema, type IssueSchemaWithBasicLabels, type IssueSchemaWithExpandedLabels, IssueStateEvents, IssueWeightEvents, Issues, IssuesStatistics, type IterationEventSchema, type IterationSchema, JobArtifacts, type JobKubernetesAgentsSchema, type JobSchema, type JobScope, type JobVariableAttributeOption, Jobs, type KeySchema, Keys, type KeysetPagination, type KeysetPaginationRequestOptions, type LabelCountSchema, type LabelEventSchema, type LabelSchema, License, type LicenseSchema, type LicenseTemplateSchema, LicenseTemplates, LinkedEpics, Lint, type LintSchema, Markdown, type MarkdownSchema, Maven, type MemberRoleSchema, type MemberSchema, MergeRequestApprovals, MergeRequestAwardEmojis, type MergeRequestChangesSchema, type MergeRequestContextCommitSchema, MergeRequestContextCommits, type MergeRequestDiffSchema, type MergeRequestDiffVersionsSchema, type MergeRequestDiscussionNotePositionOptions, type MergeRequestDiscussionNoteSchema, MergeRequestDiscussions, type MergeRequestDraftNotePositionSchema, type MergeRequestDraftNoteSchema, MergeRequestDraftNotes, type MergeRequestExternalStatusCheckSchema, MergeRequestLabelEvents, type MergeRequestLevelApprovalRuleSchema, type MergeRequestLevelMergeRequestApprovalSchema, MergeRequestMilestoneEvents, MergeRequestNoteAwardEmojis, type MergeRequestNoteSchema, MergeRequestNotes, type MergeRequestRebaseSchema, type MergeRequestSchema, type MergeRequestSchemaWithBasicLabels, type MergeRequestSchemaWithExpandedLabels, type MergeRequestTodoSchema, MergeRequests, type MergeTrainSchema, MergeTrains, Metadata, type MetadataSchema, type MetricImageSchema, type MetricType, type MigrationEntityFailure, type MigrationEntityOptions, type MigrationEntitySchema, type MigrationStatus, type MigrationStatusSchema, Migrations, type MilestoneEventSchema, type MilestoneSchema, type MissingSignatureSchema, NPM, type NPMPackageMetadataSchema, type NPMVersionSchema, type NamespaceSchema, Namespaces, type NoteSchema, type NotificationSettingLevel, type NotificationSettingSchema, NotificationSettings, NuGet, type NuGetPackageIndexSchema, type NuGetResourceSchema, type NuGetSearchResultSchema, type NuGetSearchResultsSchema, type NuGetServiceIndexSchema, type NuGetServiceMetadataItemSchema, type NuGetServiceMetadataSchema, type NuGetServiceMetadataVersionSchema, type OffsetPagination, type OffsetPaginationRequestOptions, type OverrodeGroupMemberSchema, type PackageFileSchema, type PackageMetadata, PackageRegistry, type PackageRegistrySchema, type PackageSchema, type PackageSnapshotSchema, Packages, type PagesDomainSchema, PagesDomains, type PaginatedResponse, type PaginationRequestOptions, type PaginationRequestSubOptions, type PaginationTypes, type PersonalAccessTokenSchema, type PersonalAccessTokenScopes, PersonalAccessTokens, type PipelineScheduleSchema, PipelineScheduleVariables, PipelineSchedules, type PipelineSchema, type PipelineStatus, type PipelineTestCaseSchema, type PipelineTestReportSchema, type PipelineTestReportSummarySchema, type PipelineTestSuiteSchema, type PipelineTriggerTokenSchema, PipelineTriggerTokens, type PipelineVariableSchema, Pipelines, type ProcessMetricSchema, ProductAnalytics, ProjectAccessRequests, ProjectAccessTokens, type ProjectAliasSchema, ProjectAliases, type ProjectBadgeSchema, ProjectBadges, ProjectCustomAttributes, ProjectDORA4Metrics, type ProjectExternalStatusCheckSchema, type ProjectFileUploadSchema, type ProjectHookSchema, ProjectHooks, ProjectImportExports, ProjectInvitations, type ProjectIssueBoardSchema, ProjectIssueBoards, ProjectIterations, ProjectLabels, type ProjectLevelApprovalRuleSchema, type ProjectLevelMergeRequestApprovalSchema, type ProjectLicenseSchema, ProjectMembers, ProjectMilestones, ProjectProtectedEnvironments, ProjectPushRules, ProjectRelationsExport, ProjectReleases, type ProjectRemoteMirrorSchema, ProjectRemoteMirrors, type ProjectRepositoryStorageMoveSchema, ProjectRepositoryStorageMoves, type ProjectSchema, ProjectSnippetAwardEmojis, ProjectSnippetDiscussions, ProjectSnippetNotes, ProjectSnippets, type ProjectStarrerSchema, type ProjectStatisticSchema, ProjectStatistics, type ProjectStatisticsSchema, type ProjectStoragePath, type ProjectTemplateSchema, type ProjectTemplateType, ProjectTemplates, type ProjectVariableSchema, ProjectVariables, ProjectVulnerabilities, type ProjectVulnerabilitySchema, ProjectWikis, Projects, type ProtectedBranchAccessLevel, type ProtectedBranchSchema, ProtectedBranches, type ProtectedEnvironmentAccessLevelEntity, type ProtectedEnvironmentAccessLevelSummarySchema, type ProtectedEnvironmentSchema, type ProtectedTagAccessLevel, type ProtectedTagAccessLevelEntity, type ProtectedTagAccessLevelSummarySchema, type ProtectedTagSchema, ProtectedTags, type PushRuleSchema, PyPI, type RecipeSnapshotSchema, type ReferenceSchema, type RegistryRepositorySchema, type RegistryRepositoryTagSchema, type RelatedEpicLinkSchema, type RelatedEpicLinkType, type RelatedEpicSchema, type RelationsExportStatusSchema, type ReleaseAssetLink, type ReleaseAssetSource, type ReleaseEvidence, type ReleaseLinkSchema, ReleaseLinks, type ReleaseSchema, type RemoveRepositoryFileOptions, type RemoveSidekiqQueueOptions, Repositories, type RepositoryBlobSchema, type RepositoryChangelogSchema, type RepositoryCompareSchema, type RepositoryContributorSchema, type RepositoryFileBlameSchema, type RepositoryFileExpandedSchema, type RepositoryFileSchema, RepositoryFiles, type RepositoryImportStatusSchema, type RepositoryStorageMoveSchema, type RepositorySubmoduleSchema, RepositorySubmodules, type RepositoryTreeSchema, ResourceAccessRequests, ResourceAccessTokens, ResourceAwardEmojis, ResourceBadges, ResourceCustomAttributes, ResourceDORA4Metrics, ResourceDiscussions, type ResourceGroupSchema, ResourceGroups, ResourceHooks, ResourceInvitations, ResourceIssueBoards, ResourceIterationEvents, ResourceIterations, ResourceLabelEvents, ResourceLabels, ResourceMembers, ResourceMilestoneEvents, ResourceMilestones, ResourceNoteAwardEmojis, ResourceNotes, ResourceProtectedEnvironments, ResourcePushRules, ResourceRepositoryStorageMoves, ResourceStateEvents, ResourceTemplates, ResourceVariables, ResourceWeightEvents, ResourceWikis, type ReviewAppSchema, RubyGems, type RunnerSchema, type RunnerToken, Runners, type SAMLGroupSchema, Search, SearchAdmin, type SearchMigrationSchema, type SearchScopes, type SecureFileSchema, SecureFiles, type ServiceAccountAccessTokenSchema, type ServiceAccountSchema, ServiceAccounts, ServiceData, type ShowChangelogOptions, type ShowExpanded, type SidekickCompoundMetricsSchema, type SidekickJobStatsSchema, type SidekickProcessMetricsSchema, type SidekickQueueMetricsSchema, SidekiqMetrics, type SidekiqQueueStatus, SidekiqQueues, type SimpleGroupSchema, type SimpleLabelSchema, type SimpleMemberSchema, type SimpleProjectSchema, type SimpleSnippetSchema, type SnippetNoteSchema, type SnippetRepositoryStorageMoveSchema, SnippetRepositoryStorageMoves, type SnippetSchema, type SnippetVisibility, Snippets, type StarredDashboardSchema, type StateEventSchema, type StatisticsSchema, type Sudo, type SuggestionSchema, Suggestions, type SupportedIntegration, type SystemHookTestResponse, SystemHooks, type TagSchema, type TagSignatureSchema, Tags, type TaskCompletionStatusSchema, type TemplateSchema, type TimeStatsSchema, type TodoAction, TodoLists, type TodoSchema, type TodoState, type TodoType, type TopicSchema, Topics, type UserActivitySchema, type UserAgentDetailSchema, type UserAssociationCountSchema, type UserCountSchema, UserCustomAttributes, type UserEmailSchema, UserEmails, type UserGPGKeySchema, UserGPGKeys, type UserImpersonationTokenSchema, UserImpersonationTokens, type UserMembershipSchema, type UserPreferenceSchema, type UserRunnerSchema, type UserSSHKeySchema, UserSSHKeys, type UserSchema, UserStarredMetricsDashboard, type UserStatusSchema, Users, type VariableFilter, type VariableSchema, type VariableType, type WebhookBaseNoteEventSchema, type WebhookBasePushEventSchema, type WebhookCommitNoteEventSchema, type WebhookDeploymentEventSchema, type WebhookDiffSchema, type WebhookEmojiEventSchema, type WebhookFeatureFlagEventSchema, type WebhookGroupMemberEventSchema, type WebhookIssueEventSchema, type WebhookIssueNoteEventSchema, type WebhookJobEventSchema, type WebhookLabelSchema, type WebhookMergeRequestEventSchema, type WebhookMergeRequestNoteEventSchema, type WebhookPipelineEventSchema, type WebhookPipelineSchema, type WebhookProjectSchema, type WebhookPushEventSchema, type WebhookReleaseEventSchema, type WebhookRepositorySchema, type WebhookSnippetNoteEventSchema, type WebhookSubGroupEventSchema, type WebhookTagEventSchema, type WebhookWikiEventSchema, type WeightEventSchema, type WikiAttachmentSchema, type WikiSchema, type X509SignatureSchema };