@gitbeaker/core 39.8.0 → 39.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -7,19 +7,15 @@ interface UserAgentDetailSchema extends Record<string, unknown> {
7
7
  }
8
8
  type CamelizeString<T extends PropertyKey> = T extends string ? string extends T ? string : T extends `${infer F}_${infer R}` ? `${F}${Capitalize<CamelizeString<R>>}` : T : T;
9
9
  type Camelize<T> = {
10
- [K in keyof T as CamelizeString<K>]: T[K];
10
+ [K in keyof T as CamelizeString<K>]: Camelize<T[K]>;
11
11
  };
12
12
  type Never<T> = {
13
13
  [P in keyof T]?: never;
14
14
  };
15
- type Only<T, U> = Required<T> & Never<U>;
16
- type Only3<T, U, V> = Required<T> & Never<U> & Never<V>;
17
- type OnlyOrNone<T, U> = Partial<T> & Never<U>;
18
- type OnlyOrNone3<T, U, V> = Partial<T> & Never<U> & Never<V>;
19
- type Either<T, U> = Only<T, U> | Only<U, T>;
20
- type Either3<T, U, V> = Only3<T, U, V> | Only3<V, T, U> | Only3<U, V, T>;
21
- type EitherOrNone<T, U> = OnlyOrNone<T, U> | OnlyOrNone<U, T>;
22
- type EitherOrNone3<T, U, V> = OnlyOrNone3<T, U, V> | OnlyOrNone3<U, T, V> | OnlyOrNone3<V, T, U>;
15
+ type OneOf<T> = {
16
+ [K in keyof T]: Pick<T, K> & Never<Omit<T, K>>;
17
+ }[keyof T];
18
+ type OneOrNoneOf<T> = Never<T> | OneOf<T>;
23
19
  type AllOrNone<T extends Record<string, any>> = T | Partial<Record<keyof T, never>>;
24
20
  type MappedOmit<T, K extends keyof T> = {
25
21
  [P in keyof T as P extends K ? never : P]: T[P];
@@ -141,9 +137,8 @@ interface EventSchema extends Record<string, unknown> {
141
137
  author_username: string;
142
138
  }
143
139
  declare class Events<C extends boolean = false> extends BaseResource<C> {
144
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, userId, ...options }?: EitherOrNone<{
140
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, userId, ...options }?: OneOrNoneOf<{
145
141
  projectId?: string | number;
146
- }, {
147
142
  userId: string | number;
148
143
  }> & AllEventOptions & PaginationRequestOptions<P> & BaseRequestOptions<E>): Promise<GitlabAPIResponse<EventSchema[], C, E, P>>;
149
144
  }
@@ -1043,9 +1038,8 @@ declare class Projects<C extends boolean = false> extends BaseResource<C> {
1043
1038
  } & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<ProjectStarrerSchema[], C, E, void>>;
1044
1039
  allStoragePaths<E extends boolean = false>(projectId: string | number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<ProjectStoragePath[], C, E, void>>;
1045
1040
  archive<E extends boolean = false>(projectId: string | number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<ProjectSchema, C, E, void>>;
1046
- create<E extends boolean = false>({ userId, avatar, ...options }?: Either<{
1041
+ create<E extends boolean = false>({ userId, avatar, ...options }?: OneOf<{
1047
1042
  name: string;
1048
- }, {
1049
1043
  path: string;
1050
1044
  }> & CreateProjectOptions & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<ProjectSchema, C, E, void>>;
1051
1045
  createForkRelationship<E extends boolean = false>(projectId: string | number, forkedFromId: string | number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<void, C, E, void>>;
@@ -1537,15 +1531,13 @@ interface AllAuditEventOptions {
1537
1531
  entityId?: number;
1538
1532
  }
1539
1533
  declare class AuditEvents<C extends boolean = false> extends BaseResource<C> {
1540
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: EitherOrNone<{
1541
- projectId?: string | number;
1542
- }, {
1543
- groupId?: string | number;
1534
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: OneOrNoneOf<{
1535
+ projectId: string | number;
1536
+ groupId: string | number;
1544
1537
  }> & AllAuditEventOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<AuditEventSchema[], C, E, P>>;
1545
- show<E extends boolean = false>(auditEventId: number, { projectId, groupId, ...options }?: EitherOrNone<{
1546
- projectId?: string | number;
1547
- }, {
1548
- groupId?: string | number;
1538
+ show<E extends boolean = false>(auditEventId: number, { projectId, groupId, ...options }?: OneOrNoneOf<{
1539
+ projectId: string | number;
1540
+ groupId: string | number;
1549
1541
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<AuditEventSchema, C, E, void>>;
1550
1542
  }
1551
1543
 
@@ -1729,9 +1721,8 @@ interface DashboardAnnotationSchema extends Record<string, unknown> {
1729
1721
  cluster_id?: null;
1730
1722
  }
1731
1723
  declare class DashboardAnnotations<C extends boolean = false> extends BaseResource<C> {
1732
- create<E extends boolean = false>(dashboardPath: string, startingAt: string, description: string, { environmentId, clusterId, ...options }?: Either<{
1724
+ create<E extends boolean = false>(dashboardPath: string, startingAt: string, description: string, { environmentId, clusterId, ...options }?: OneOf<{
1733
1725
  environmentId: number;
1734
- }, {
1735
1726
  clusterId: number;
1736
1727
  }> & {
1737
1728
  endingAt?: string;
@@ -1739,24 +1730,20 @@ declare class DashboardAnnotations<C extends boolean = false> extends BaseResour
1739
1730
  }
1740
1731
 
1741
1732
  declare class Debian<C extends boolean = false> extends BaseResource<C> {
1742
- downloadBinaryFileIndex<E extends boolean = false>(distribution: string, component: string, architecture: string, { projectId, groupId, ...options }: Either<{
1733
+ downloadBinaryFileIndex<E extends boolean = false>(distribution: string, component: string, architecture: string, { projectId, groupId, ...options }: OneOf<{
1743
1734
  projectId: string | number;
1744
- }, {
1745
1735
  groupId: string | number;
1746
1736
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<Blob, void, E, void>>;
1747
- downloadDistributionReleaseFile<E extends boolean = false>(distribution: string, { projectId, groupId, ...options }: Either<{
1737
+ downloadDistributionReleaseFile<E extends boolean = false>(distribution: string, { projectId, groupId, ...options }: OneOf<{
1748
1738
  projectId: string | number;
1749
- }, {
1750
1739
  groupId: string | number;
1751
1740
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<Blob, void, E, void>>;
1752
- downloadSignedDistributionReleaseFile<E extends boolean = false>(distribution: string, { projectId, groupId, ...options }: Either<{
1741
+ downloadSignedDistributionReleaseFile<E extends boolean = false>(distribution: string, { projectId, groupId, ...options }: OneOf<{
1753
1742
  projectId: string | number;
1754
- }, {
1755
1743
  groupId: string | number;
1756
1744
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<Blob, void, E, void>>;
1757
- downloadReleaseFileSignature<E extends boolean = false>(distribution: string, { projectId, groupId, ...options }: Either<{
1745
+ downloadReleaseFileSignature<E extends boolean = false>(distribution: string, { projectId, groupId, ...options }: OneOf<{
1758
1746
  projectId: string | number;
1759
- }, {
1760
1747
  groupId: string | number;
1761
1748
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<Blob, void, E, void>>;
1762
1749
  downloadPackageFile<E extends boolean = false>(projectId: string | number, distribution: string, letter: string, packageName: string, packageVersion: string, filename: string, options?: ShowExpanded<E>): Promise<GitlabAPIResponse<Blob, void, E, void>>;
@@ -1786,10 +1773,9 @@ interface ExpandedDeployKeySchema extends DeployKeySchema {
1786
1773
  projects_with_write_access?: SimpleProjectSchema[];
1787
1774
  }
1788
1775
  declare class DeployKeys<C extends boolean = false> extends BaseResource<C> {
1789
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, userId, ...options }?: EitherOrNone<{
1790
- projectId?: string | number;
1791
- }, {
1792
- userId?: string | number;
1776
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, userId, ...options }?: OneOrNoneOf<{
1777
+ projectId: string | number;
1778
+ userId: string | number;
1793
1779
  }> & {
1794
1780
  public?: boolean;
1795
1781
  } & PaginationRequestOptions<P> & BaseRequestOptions<E>): Promise<GitlabAPIResponse<ExpandedDeployKeySchema[], C, E, P>>;
@@ -1816,26 +1802,22 @@ interface DeployTokenSchema extends Record<string, unknown> {
1816
1802
  scopes?: DeployTokenScope[];
1817
1803
  }
1818
1804
  declare class DeployTokens<C extends boolean = false> extends BaseResource<C> {
1819
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: EitherOrNone<{
1805
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: OneOrNoneOf<{
1820
1806
  projectId: string | number;
1821
- }, {
1822
1807
  groupId: string | number;
1823
1808
  }> & {
1824
1809
  active?: boolean;
1825
1810
  } & PaginationRequestOptions<P> & BaseRequestOptions<E>): Promise<GitlabAPIResponse<DeployTokenSchema[], C, E, P>>;
1826
- create<E extends boolean = false>(name: string, scopes: string[], { projectId, groupId, ...options }?: Either<{
1811
+ create<E extends boolean = false>(name: string, scopes: string[], { projectId, groupId, ...options }?: OneOf<{
1827
1812
  projectId: string | number;
1828
- }, {
1829
1813
  groupId: string | number;
1830
1814
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<DeployTokenSchema, C, E, void>>;
1831
- remove<E extends boolean = false>(tokenId: number, { projectId, groupId, ...options }?: Either<{
1815
+ remove<E extends boolean = false>(tokenId: number, { projectId, groupId, ...options }?: OneOf<{
1832
1816
  projectId: string | number;
1833
- }, {
1834
1817
  groupId: string | number;
1835
1818
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<void, C, E, void>>;
1836
- show<E extends boolean = false>(tokenId: number, { projectId, groupId, ...options }?: Either<{
1819
+ show<E extends boolean = false>(tokenId: number, { projectId, groupId, ...options }?: OneOf<{
1837
1820
  projectId: string | number;
1838
- }, {
1839
1821
  groupId: string | number;
1840
1822
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<DeployTokenSchema, C, E, void>>;
1841
1823
  }
@@ -2560,9 +2542,8 @@ type EditMergeRequestOptions = {
2560
2542
  declare class MergeRequests<C extends boolean = false> extends BaseResource<C> {
2561
2543
  accept<E extends boolean = false>(projectId: string | number, mergerequestIId: number, options?: AcceptMergeRequestOptions & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<ExpandedMergeRequestSchema, C, E, void>>;
2562
2544
  addSpentTime<E extends boolean = false>(projectId: string | number, mergerequestIId: number, duration: string, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<TimeStatsSchema, C, E, void>>;
2563
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: AllMergeRequestsOptions & EitherOrNone<{
2545
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: AllMergeRequestsOptions & OneOrNoneOf<{
2564
2546
  projectId: string | number;
2565
- }, {
2566
2547
  groupId: string | number;
2567
2548
  }> & PaginationRequestOptions<P> & BaseRequestOptions<E>): Promise<GitlabAPIResponse<MergeRequestSchema[], C, E, P>>;
2568
2549
  allDiffs<E extends boolean = false>(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<MergeRequestDiffSchema[], C, E, void>>;
@@ -2733,10 +2714,9 @@ declare class Issues<C extends boolean = false> extends BaseResource<C> {
2733
2714
  summary?: string;
2734
2715
  } & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<TimeStatsSchema, C, E, void>>;
2735
2716
  addTimeEstimate<E extends boolean = false>(projectId: string | number, issueIId: number, duration: string, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<TimeStatsSchema, C, E, void>>;
2736
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: EitherOrNone<{
2737
- projectId?: string | number;
2738
- }, {
2739
- groupId?: string | number;
2717
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: OneOrNoneOf<{
2718
+ projectId: string | number;
2719
+ groupId: string | number;
2740
2720
  }> & PaginationRequestOptions<P> & AllIssuesOptions & BaseRequestOptions<E>): Promise<GitlabAPIResponse<IssueSchema[], C, E, P>>;
2741
2721
  allMetricImages<E extends boolean = false>(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<MetricImageSchema[], C, E, void>>;
2742
2722
  allParticipants<E extends boolean = false>(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<MappedOmit<UserSchema, 'created_at'>[], C, E, void>>;
@@ -2853,9 +2833,8 @@ declare class ResourceLabels<C extends boolean = false> extends BaseResource<C>
2853
2833
  description?: string;
2854
2834
  priority?: number;
2855
2835
  } & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<LabelSchema, C, E, void>>;
2856
- edit<E extends boolean = false>(resourceId: number | string, labelId: number | string, options: Either<{
2836
+ edit<E extends boolean = false>(resourceId: number | string, labelId: number | string, options: OneOf<{
2857
2837
  newName: string;
2858
- }, {
2859
2838
  color: string;
2860
2839
  }> & {
2861
2840
  description?: string;
@@ -2889,12 +2868,10 @@ declare class ResourceIssueBoards<C extends boolean = false> extends BaseResourc
2889
2868
  all<E extends boolean = false, P extends PaginationTypes = 'offset'>(resourceId: string | number, options?: PaginationRequestOptions<P> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<IssueBoardSchema[], C, E, P>>;
2890
2869
  allLists<E extends boolean = false>(resourceId: string | number, boardId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<IssueBoardListSchema[], C, E, void>>;
2891
2870
  create<E extends boolean = false>(resourceId: string | number, name: string, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<IssueBoardSchema, C, E, void>>;
2892
- createList<E extends boolean = false>(resourceId: string | number, boardId: number, options?: EitherOrNone3<{
2893
- labelId?: number;
2894
- }, {
2895
- assigneeId?: number;
2896
- }, {
2897
- milestoneId?: number;
2871
+ createList<E extends boolean = false>(resourceId: string | number, boardId: number, options?: OneOrNoneOf<{
2872
+ labelId: number;
2873
+ assigneeId: number;
2874
+ milestoneId: number;
2898
2875
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<IssueBoardListSchema, C, E, void>>;
2899
2876
  edit<E extends boolean = false>(resourceId: string | number, boardId: number, options?: {
2900
2877
  name?: string;
@@ -3052,9 +3029,8 @@ declare class ResourceWikis<C extends boolean = false> extends BaseResource<C> {
3052
3029
  create<E extends boolean = false>(resourceId: string | number, content: string, title: string, options?: {
3053
3030
  format?: string;
3054
3031
  } & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<WikiSchema, C, E, void>>;
3055
- edit<E extends boolean = false>(resourceId: string | number, slug: string, options?: Either<{
3032
+ edit<E extends boolean = false>(resourceId: string | number, slug: string, options?: OneOf<{
3056
3033
  content: string;
3057
- }, {
3058
3034
  title: string;
3059
3035
  }> & {
3060
3036
  format?: string;
@@ -3188,9 +3164,8 @@ interface InvitationSchema extends Record<string, unknown> {
3188
3164
  }
3189
3165
  declare class ResourceInvitations<C extends boolean = false> extends BaseResource<C> {
3190
3166
  constructor(resourceType: string, options: BaseResourceOptions<C>);
3191
- add<E extends boolean = false>(resourceId: string | number, accessLevel: AccessLevel, options: Either<{
3167
+ add<E extends boolean = false>(resourceId: string | number, accessLevel: AccessLevel, options: OneOf<{
3192
3168
  email: string;
3193
- }, {
3194
3169
  userId: string;
3195
3170
  }> & {
3196
3171
  expiresAt?: string;
@@ -3245,11 +3220,9 @@ interface ProtectedEnvironmentSchema extends Record<string, unknown> {
3245
3220
  deploy_access_levels?: ProtectedEnvironmentAccessLevelSummarySchema[];
3246
3221
  required_approval_count: number;
3247
3222
  }
3248
- type ProtectedEnvironmentAccessLevelEntity = Either3<{
3223
+ type ProtectedEnvironmentAccessLevelEntity = OneOf<{
3249
3224
  userId: number;
3250
- }, {
3251
3225
  groupId: number;
3252
- }, {
3253
3226
  accessLevel: number;
3254
3227
  }>;
3255
3228
  declare class ResourceProtectedEnvironments<C extends boolean = false> extends BaseResource<C> {
@@ -3626,9 +3599,8 @@ interface KeySchema extends Record<string, unknown> {
3626
3599
  deploy_keys_projects?: DeployKeyProjectsSchema[];
3627
3600
  }
3628
3601
  declare class Keys<C extends boolean = false> extends BaseResource<C> {
3629
- show<E extends boolean = false>({ keyId, fingerprint, ...options }?: Either<{
3602
+ show<E extends boolean = false>({ keyId, fingerprint, ...options }?: OneOf<{
3630
3603
  keyId: number;
3631
- }, {
3632
3604
  fingerprint: string;
3633
3605
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<KeySchema, C, E, void>>;
3634
3606
  }
@@ -3719,9 +3691,8 @@ declare class Markdown<C extends boolean = false> extends BaseResource<C> {
3719
3691
  }
3720
3692
 
3721
3693
  declare class Maven<C extends boolean = false> extends BaseResource<C> {
3722
- downloadPackageFile<E extends boolean = false>(path: string, filename: string, { projectId, groupId, ...options }: EitherOrNone<{
3694
+ downloadPackageFile<E extends boolean = false>(path: string, filename: string, { projectId, groupId, ...options }: OneOrNoneOf<{
3723
3695
  projectId: string | number;
3724
- }, {
3725
3696
  groupId: string | number;
3726
3697
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<Blob, void, E, void>>;
3727
3698
  uploadPackageFile<E extends boolean = false>(projectId: string | number, path: string, packageFile: {
@@ -3824,14 +3795,12 @@ type EditNotificationSettingsOptions = {
3824
3795
  newEpic?: boolean;
3825
3796
  };
3826
3797
  declare class NotificationSettings<C extends boolean = false> extends BaseResource<C> {
3827
- edit<E extends boolean = false>({ groupId, projectId, ...options }?: EitherOrNone<{
3798
+ edit<E extends boolean = false>({ groupId, projectId, ...options }?: OneOrNoneOf<{
3828
3799
  projectId: string | number;
3829
- }, {
3830
3800
  groupId: string | number;
3831
3801
  }> & EditNotificationSettingsOptions & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<NotificationSettingSchema, C, E, void>>;
3832
- show<E extends boolean = false>({ groupId, projectId, ...options }?: EitherOrNone<{
3802
+ show<E extends boolean = false>({ groupId, projectId, ...options }?: OneOrNoneOf<{
3833
3803
  projectId: string | number;
3834
- }, {
3835
3804
  groupId: string | number;
3836
3805
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<NotificationSettingSchema, C, E, void>>;
3837
3806
  }
@@ -3929,29 +3898,25 @@ interface NuGetSearchResultsSchema extends Record<string, unknown> {
3929
3898
  }
3930
3899
  declare class NuGet<C extends boolean = false> extends BaseResource<C> {
3931
3900
  downloadPackageFile<E extends boolean = false>(projectId: string | number, packageName: string, packageVersion: string, filename: string, options?: ShowExpanded<E>): Promise<GitlabAPIResponse<Blob, void, E, void>>;
3932
- search<E extends boolean = false>(q: string, { projectId, groupId, ...options }: Either<{
3901
+ search<E extends boolean = false>(q: string, { projectId, groupId, ...options }: OneOf<{
3933
3902
  projectId: string | number;
3934
- }, {
3935
3903
  groupId: string | number;
3936
3904
  }> & {
3937
3905
  skip?: number;
3938
3906
  take?: number;
3939
3907
  prerelease?: boolean;
3940
3908
  } & ShowExpanded<E>): Promise<GitlabAPIResponse<NuGetSearchResultsSchema, C, E, void>>;
3941
- showMetadata<E extends boolean = false>(packageName: string, { projectId, groupId, ...options }: Either<{
3909
+ showMetadata<E extends boolean = false>(packageName: string, { projectId, groupId, ...options }: OneOf<{
3942
3910
  projectId: string | number;
3943
- }, {
3944
3911
  groupId: string | number;
3945
3912
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<NuGetServiceMetadataSchema, C, E, void>>;
3946
3913
  showPackageIndex<E extends boolean = false>(projectId: string | number, packageName: string, options?: ShowExpanded<E>): Promise<GitlabAPIResponse<NuGetPackageIndexSchema, C, E, void>>;
3947
- showServiceIndex<E extends boolean = false>({ projectId, groupId, ...options }: Either<{
3914
+ showServiceIndex<E extends boolean = false>({ projectId, groupId, ...options }: OneOf<{
3948
3915
  projectId: string | number;
3949
- }, {
3950
3916
  groupId: string | number;
3951
3917
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<NuGetServiceIndexSchema, C, E, void>>;
3952
- showVersionMetadata<E extends boolean = false>(packageName: string, packageVersion: string, { projectId, groupId, ...options }: Either<{
3918
+ showVersionMetadata<E extends boolean = false>(packageName: string, packageVersion: string, { projectId, groupId, ...options }: OneOf<{
3953
3919
  projectId: string | number;
3954
- }, {
3955
3920
  groupId: string | number;
3956
3921
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<NuGetServiceMetadataVersionSchema, C, E, void>>;
3957
3922
  uploadPackageFile<E extends boolean = false>(projectId: string | number, packageName: string, packageVersion: string, packageFile: {
@@ -3965,14 +3930,12 @@ declare class NuGet<C extends boolean = false> extends BaseResource<C> {
3965
3930
  }
3966
3931
 
3967
3932
  declare class PyPI<C extends boolean = false> extends BaseResource<C> {
3968
- downloadPackageFile<E extends boolean = false>(sha: string, fileIdentifier: string, { projectId, groupId, ...options }?: Either<{
3933
+ downloadPackageFile<E extends boolean = false>(sha: string, fileIdentifier: string, { projectId, groupId, ...options }?: OneOf<{
3969
3934
  projectId: string | number;
3970
- }, {
3971
3935
  groupId: string | number;
3972
3936
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<Blob, void, E, void>>;
3973
- showPackageDescriptor<E extends boolean = false>(packageName: string, { projectId, groupId, ...options }: Either<{
3937
+ showPackageDescriptor<E extends boolean = false>(packageName: string, { projectId, groupId, ...options }: OneOf<{
3974
3938
  projectId: string | number;
3975
- }, {
3976
3939
  groupId: string | number;
3977
3940
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<string, C, E, void>>;
3978
3941
  uploadPackageFile<E extends boolean = false>(projectId: string | number, packageFile: {
@@ -4067,54 +4030,44 @@ type AllSearchOptions = {
4067
4030
  confidential?: boolean;
4068
4031
  };
4069
4032
  declare class Search<C extends boolean = false> extends BaseResource<C> {
4070
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'users', search: string, options?: EitherOrNone<{
4033
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'users', search: string, options?: OneOrNoneOf<{
4071
4034
  projectId: string | number;
4072
- }, {
4073
4035
  groupId: string | number;
4074
4036
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<UserSchema[], C, E, void>>;
4075
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'notes', search: string, options?: EitherOrNone<{
4037
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'notes', search: string, options?: OneOrNoneOf<{
4076
4038
  projectId: string | number;
4077
- }, {
4078
4039
  groupId: string | number;
4079
4040
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<NoteSchema[], C, E, P>>;
4080
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'blobs', search: string, options?: EitherOrNone<{
4041
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'blobs', search: string, options?: OneOrNoneOf<{
4081
4042
  projectId: string | number;
4082
- }, {
4083
4043
  groupId: string | number;
4084
4044
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<BlobSchema[], C, E, P>>;
4085
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'commits', search: string, options?: EitherOrNone<{
4045
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'commits', search: string, options?: OneOrNoneOf<{
4086
4046
  projectId: string | number;
4087
- }, {
4088
4047
  groupId: string | number;
4089
4048
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<CommitSchema[], C, E, P>>;
4090
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'wiki_blobs', search: string, options?: EitherOrNone<{
4049
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'wiki_blobs', search: string, options?: OneOrNoneOf<{
4091
4050
  projectId: string | number;
4092
- }, {
4093
4051
  groupId: string | number;
4094
4052
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<BlobSchema[], C, E, P>>;
4095
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'snippet_titles', search: string, options?: EitherOrNone<{
4053
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'snippet_titles', search: string, options?: OneOrNoneOf<{
4096
4054
  projectId: string | number;
4097
- }, {
4098
4055
  groupId: string | number;
4099
4056
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<SimpleSnippetSchema[], C, E, P>>;
4100
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'milestones', search: string, options?: EitherOrNone<{
4057
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'milestones', search: string, options?: OneOrNoneOf<{
4101
4058
  projectId: string | number;
4102
- }, {
4103
4059
  groupId: string | number;
4104
4060
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<MilestoneSchema[], C, E, P>>;
4105
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'merge_requests', search: string, options?: EitherOrNone<{
4061
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'merge_requests', search: string, options?: OneOrNoneOf<{
4106
4062
  projectId: string | number;
4107
- }, {
4108
4063
  groupId: string | number;
4109
4064
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<MergeRequestSchema[], C, E, P>>;
4110
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'issues', search: string, options?: EitherOrNone<{
4065
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'issues', search: string, options?: OneOrNoneOf<{
4111
4066
  projectId: string | number;
4112
- }, {
4113
4067
  groupId: string | number;
4114
4068
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<IssueSchema[], C, E, P>>;
4115
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'projects', search: string, options?: EitherOrNone<{
4069
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'projects', search: string, options?: OneOrNoneOf<{
4116
4070
  projectId: string | number;
4117
- }, {
4118
4071
  groupId: string | number;
4119
4072
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<ProjectSchema[], C, E, P>>;
4120
4073
  }
@@ -4341,9 +4294,8 @@ interface RegistryRepositorySchema extends Record<string, unknown> {
4341
4294
  }
4342
4295
  type CondensedRegistryRepositorySchema = MappedOmit<RegistryRepositorySchema, 'tags' | 'tags_count'>;
4343
4296
  declare class ContainerRegistry<C extends boolean = false> extends BaseResource<C> {
4344
- allRepositories<E extends boolean = false, P extends PaginationTypes = 'offset'>({ groupId, projectId, ...options }?: Either<{
4297
+ allRepositories<E extends boolean = false, P extends PaginationTypes = 'offset'>({ groupId, projectId, ...options }?: OneOf<{
4345
4298
  projectId: string | number;
4346
- }, {
4347
4299
  groupId: string | number;
4348
4300
  }> & {
4349
4301
  tags?: boolean;
@@ -4535,12 +4487,10 @@ type CreateRunnerOptions = {
4535
4487
  maintenanceNote?: string;
4536
4488
  };
4537
4489
  declare class Runners<C extends boolean = false> extends BaseResource<C> {
4538
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, owned, ...options }?: EitherOrNone3<{
4539
- projectId?: string | number;
4540
- }, {
4541
- owned?: boolean;
4542
- }, {
4543
- groupId?: string | number;
4490
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, owned, ...options }?: OneOrNoneOf<{
4491
+ projectId: string | number;
4492
+ owned: boolean;
4493
+ groupId: string | number;
4544
4494
  }> & AllRunnersOptions & BaseRequestOptions<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<RunnerSchema[], C, E, P>>;
4545
4495
  allJobs<E extends boolean = false>(runnerId: number, options?: Sudo & ShowExpanded<E> & {
4546
4496
  status?: string;
@@ -4552,14 +4502,12 @@ declare class Runners<C extends boolean = false> extends BaseResource<C> {
4552
4502
  enable<E extends boolean = false>(projectId: string | number, runnerId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<RunnerSchema, C, E, void>>;
4553
4503
  disable<E extends boolean = false>(projectId: string | number, runnerId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<void, C, E, void>>;
4554
4504
  register<E extends boolean = false>(token: string, options?: CreateRunnerOptions & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<RunnerToken, C, E, void>>;
4555
- remove<E extends boolean = false>({ runnerId, token, ...options }: Either<{
4505
+ remove<E extends boolean = false>({ runnerId, token, ...options }: OneOf<{
4556
4506
  runnerId: number;
4557
- }, {
4558
4507
  token: string;
4559
4508
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<void, C, E, void>>;
4560
- resetRegistrationToken<E extends boolean = false>({ runnerId, token, ...options }?: EitherOrNone<{
4509
+ resetRegistrationToken<E extends boolean = false>({ runnerId, token, ...options }?: OneOrNoneOf<{
4561
4510
  runnerId: string;
4562
- }, {
4563
4511
  token: string;
4564
4512
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<void, C, E, void>>;
4565
4513
  show<E extends boolean = false>(runnerId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<ExpandedRunnerSchema, C, E, void>>;
@@ -4586,9 +4534,8 @@ interface EnvironmentSchema extends Record<string, unknown> {
4586
4534
  type CondensedEnvironmentSchema = MappedOmit<EnvironmentSchema, 'last_deployment' | 'deployable'>;
4587
4535
  type ReviewAppSchema = MappedOmit<CondensedEnvironmentSchema, 'state'>;
4588
4536
  declare class Environments<C extends boolean = false> extends BaseResource<C> {
4589
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(projectId: string | number, options?: PaginationRequestOptions<P> & EitherOrNone<{
4537
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(projectId: string | number, options?: PaginationRequestOptions<P> & OneOrNoneOf<{
4590
4538
  name: string;
4591
- }, {
4592
4539
  search: string;
4593
4540
  }> & {
4594
4541
  states?: 'available' | 'stopping' | 'stopped';
@@ -5044,17 +4991,14 @@ type AllIssueStatisticsOptions = {
5044
4991
  confidential?: boolean;
5045
4992
  };
5046
4993
  declare class IssuesStatistics<C extends boolean = false> extends BaseResource<C> {
5047
- all<E extends boolean = false>({ projectId, groupId, ...options }?: EitherOrNone<{
4994
+ all<E extends boolean = false>({ projectId, groupId, ...options }?: OneOrNoneOf<{
5048
4995
  projectId: string | number;
5049
- }, {
5050
4996
  groupId: string | number;
5051
- }> & EitherOrNone<{
4997
+ }> & OneOrNoneOf<{
5052
4998
  authorId: number;
5053
- }, {
5054
4999
  authorUsername: string;
5055
- }> & EitherOrNone<{
5000
+ }> & OneOrNoneOf<{
5056
5001
  assigneeId: number;
5057
- }, {
5058
5002
  assigneeUsername: string;
5059
5003
  }> & AllIssueStatisticsOptions & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<StatisticsSchema, C, E, void>>;
5060
5004
  }
@@ -5312,9 +5256,8 @@ interface MergeRequestDiscussions<C extends boolean = false> extends ResourceDis
5312
5256
  commitId?: string;
5313
5257
  createdAt?: string;
5314
5258
  } & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<DiscussionSchema, C, E, void>>;
5315
- editNote<E extends boolean = false>(projectId: string | number, mergerequestId: string | number, discussionId: string, noteId: number, options: Sudo & ShowExpanded<E> & Either<{
5259
+ editNote<E extends boolean = false>(projectId: string | number, mergerequestId: string | number, discussionId: string, noteId: number, options: Sudo & ShowExpanded<E> & OneOf<{
5316
5260
  body: string;
5317
- }, {
5318
5261
  resolved: boolean;
5319
5262
  }>): Promise<GitlabAPIResponse<MergeRequestDiscussionNoteSchema, C, E, void>>;
5320
5263
  removeNote<E extends boolean = false>(projectId: string | number, mergerequestId: string | number, discussionId: string, noteId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<void, C, E, void>>;
@@ -5512,9 +5455,8 @@ type AllPackageOptions = {
5512
5455
  status?: 'default' | 'hidden' | 'processing' | 'error' | 'pending_destruction';
5513
5456
  };
5514
5457
  declare class Packages<C extends boolean = false> extends BaseResource<C> {
5515
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: Either<{
5458
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: OneOf<{
5516
5459
  projectId: string | number;
5517
- }, {
5518
5460
  groupId: string | number;
5519
5461
  }> & AllPackageOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<PackageSchema[], C, E, P>>;
5520
5462
  allFiles<E extends boolean = false>(projectId: string | number, packageId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<PackageFileSchema[], C, E, void>>;
@@ -5791,9 +5733,8 @@ declare class ProjectImportExports<C extends boolean = false> extends BaseResour
5791
5733
  }
5792
5734
 
5793
5735
  interface ProjectInvitations<C extends boolean = false> {
5794
- add<E extends boolean = false>(projectId: string | number, accessLevel: AccessLevel, options: Either<{
5736
+ add<E extends boolean = false>(projectId: string | number, accessLevel: AccessLevel, options: OneOf<{
5795
5737
  email: string;
5796
- }, {
5797
5738
  userId: string;
5798
5739
  }> & {
5799
5740
  expiresAt?: string;
@@ -5821,12 +5762,10 @@ interface ProjectIssueBoards<C extends boolean = false> extends ResourceIssueBoa
5821
5762
  all<E extends boolean = false, P extends PaginationTypes = 'offset'>(projectId: string | number, options?: PaginationRequestOptions<P> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<ProjectIssueBoardSchema[], C, E, P>>;
5822
5763
  allLists<E extends boolean = false>(projectId: string | number, boardId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<IssueBoardListSchema[], C, E, void>>;
5823
5764
  create<E extends boolean = false>(projectId: string | number, name: string, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<ProjectIssueBoardSchema, C, E, void>>;
5824
- createList<E extends boolean = false>(projectId: string | number, boardId: number, options?: EitherOrNone3<{
5825
- labelId?: number;
5826
- }, {
5827
- assigneeId?: number;
5828
- }, {
5829
- milestoneId?: number;
5765
+ createList<E extends boolean = false>(projectId: string | number, boardId: number, options?: OneOrNoneOf<{
5766
+ labelId: number;
5767
+ assigneeId: number;
5768
+ milestoneId: number;
5830
5769
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<IssueBoardListSchema, C, E, void>>;
5831
5770
  edit<E extends boolean = false>(projectId: string | number, boardId: number, options?: {
5832
5771
  name?: string;
@@ -5862,9 +5801,8 @@ interface ProjectLabels<C extends boolean = false> extends ResourceLabels<C> {
5862
5801
  description?: string;
5863
5802
  priority?: number;
5864
5803
  } & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<LabelSchema, C, E, void>>;
5865
- edit<E extends boolean = false>(projectId: string | number, labelId: number | string, options: Either<{
5804
+ edit<E extends boolean = false>(projectId: string | number, labelId: number | string, options: OneOf<{
5866
5805
  newName: string;
5867
- }, {
5868
5806
  color: string;
5869
5807
  }> & {
5870
5808
  description?: string;
@@ -6210,9 +6148,8 @@ interface ProjectWikis<C extends boolean = false> extends ResourceWikis<C> {
6210
6148
  create<E extends boolean = false>(projectId: string | number, content: string, title: string, options?: {
6211
6149
  format?: string;
6212
6150
  } & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<WikiSchema, C, E, void>>;
6213
- edit<E extends boolean = false>(projectId: string | number, slug: string, options?: Either<{
6151
+ edit<E extends boolean = false>(projectId: string | number, slug: string, options?: OneOf<{
6214
6152
  content: string;
6215
- }, {
6216
6153
  title: string;
6217
6154
  }> & {
6218
6155
  format?: string;
@@ -6243,11 +6180,9 @@ interface ProtectedTagSchema extends Record<string, unknown> {
6243
6180
  name: string;
6244
6181
  create_access_levels?: ProtectedTagAccessLevelSummarySchema[];
6245
6182
  }
6246
- type ProtectedTagAccessLevelEntity = Either3<{
6183
+ type ProtectedTagAccessLevelEntity = OneOf<{
6247
6184
  userId: number;
6248
- }, {
6249
6185
  groupId: number;
6250
- }, {
6251
6186
  accessLevel: number;
6252
6187
  }>;
6253
6188
  declare class ProtectedTags<C extends boolean = false> extends BaseResource<C> {
@@ -6877,9 +6812,8 @@ declare class GroupImportExports<C extends boolean = false> extends BaseResource
6877
6812
  }
6878
6813
 
6879
6814
  interface GroupInvitations<C extends boolean = false> {
6880
- add<E extends boolean = false>(groupId: string | number, accessLevel: AccessLevel, options: Either<{
6815
+ add<E extends boolean = false>(groupId: string | number, accessLevel: AccessLevel, options: OneOf<{
6881
6816
  email: string;
6882
- }, {
6883
6817
  userId: string;
6884
6818
  }> & {
6885
6819
  expiresAt?: string;
@@ -6944,9 +6878,8 @@ interface GroupLabels<C extends boolean = false> extends ResourceLabels<C> {
6944
6878
  description?: string;
6945
6879
  priority?: number;
6946
6880
  } & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<LabelSchema, C, E, void>>;
6947
- edit<E extends boolean = false>(groupId: string | number, labelId: number | string, options: Either<{
6881
+ edit<E extends boolean = false>(groupId: string | number, labelId: number | string, options: OneOf<{
6948
6882
  newName: string;
6949
- }, {
6950
6883
  color: string;
6951
6884
  }> & {
6952
6885
  description?: string;
@@ -7170,9 +7103,8 @@ interface GroupWikis<C extends boolean = false> extends ResourceWikis<C> {
7170
7103
  create<E extends boolean = false>(groupId: string | number, content: string, title: string, options?: {
7171
7104
  format?: string;
7172
7105
  } & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<WikiSchema, C, E, void>>;
7173
- edit<E extends boolean = false>(groupId: string | number, slug: string, options?: Either<{
7106
+ edit<E extends boolean = false>(groupId: string | number, slug: string, options?: OneOf<{
7174
7107
  content: string;
7175
- }, {
7176
7108
  title: string;
7177
7109
  }> & {
7178
7110
  format?: string;
package/dist/index.d.ts CHANGED
@@ -7,19 +7,15 @@ interface UserAgentDetailSchema extends Record<string, unknown> {
7
7
  }
8
8
  type CamelizeString<T extends PropertyKey> = T extends string ? string extends T ? string : T extends `${infer F}_${infer R}` ? `${F}${Capitalize<CamelizeString<R>>}` : T : T;
9
9
  type Camelize<T> = {
10
- [K in keyof T as CamelizeString<K>]: T[K];
10
+ [K in keyof T as CamelizeString<K>]: Camelize<T[K]>;
11
11
  };
12
12
  type Never<T> = {
13
13
  [P in keyof T]?: never;
14
14
  };
15
- type Only<T, U> = Required<T> & Never<U>;
16
- type Only3<T, U, V> = Required<T> & Never<U> & Never<V>;
17
- type OnlyOrNone<T, U> = Partial<T> & Never<U>;
18
- type OnlyOrNone3<T, U, V> = Partial<T> & Never<U> & Never<V>;
19
- type Either<T, U> = Only<T, U> | Only<U, T>;
20
- type Either3<T, U, V> = Only3<T, U, V> | Only3<V, T, U> | Only3<U, V, T>;
21
- type EitherOrNone<T, U> = OnlyOrNone<T, U> | OnlyOrNone<U, T>;
22
- type EitherOrNone3<T, U, V> = OnlyOrNone3<T, U, V> | OnlyOrNone3<U, T, V> | OnlyOrNone3<V, T, U>;
15
+ type OneOf<T> = {
16
+ [K in keyof T]: Pick<T, K> & Never<Omit<T, K>>;
17
+ }[keyof T];
18
+ type OneOrNoneOf<T> = Never<T> | OneOf<T>;
23
19
  type AllOrNone<T extends Record<string, any>> = T | Partial<Record<keyof T, never>>;
24
20
  type MappedOmit<T, K extends keyof T> = {
25
21
  [P in keyof T as P extends K ? never : P]: T[P];
@@ -141,9 +137,8 @@ interface EventSchema extends Record<string, unknown> {
141
137
  author_username: string;
142
138
  }
143
139
  declare class Events<C extends boolean = false> extends BaseResource<C> {
144
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, userId, ...options }?: EitherOrNone<{
140
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, userId, ...options }?: OneOrNoneOf<{
145
141
  projectId?: string | number;
146
- }, {
147
142
  userId: string | number;
148
143
  }> & AllEventOptions & PaginationRequestOptions<P> & BaseRequestOptions<E>): Promise<GitlabAPIResponse<EventSchema[], C, E, P>>;
149
144
  }
@@ -1043,9 +1038,8 @@ declare class Projects<C extends boolean = false> extends BaseResource<C> {
1043
1038
  } & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<ProjectStarrerSchema[], C, E, void>>;
1044
1039
  allStoragePaths<E extends boolean = false>(projectId: string | number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<ProjectStoragePath[], C, E, void>>;
1045
1040
  archive<E extends boolean = false>(projectId: string | number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<ProjectSchema, C, E, void>>;
1046
- create<E extends boolean = false>({ userId, avatar, ...options }?: Either<{
1041
+ create<E extends boolean = false>({ userId, avatar, ...options }?: OneOf<{
1047
1042
  name: string;
1048
- }, {
1049
1043
  path: string;
1050
1044
  }> & CreateProjectOptions & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<ProjectSchema, C, E, void>>;
1051
1045
  createForkRelationship<E extends boolean = false>(projectId: string | number, forkedFromId: string | number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<void, C, E, void>>;
@@ -1537,15 +1531,13 @@ interface AllAuditEventOptions {
1537
1531
  entityId?: number;
1538
1532
  }
1539
1533
  declare class AuditEvents<C extends boolean = false> extends BaseResource<C> {
1540
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: EitherOrNone<{
1541
- projectId?: string | number;
1542
- }, {
1543
- groupId?: string | number;
1534
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: OneOrNoneOf<{
1535
+ projectId: string | number;
1536
+ groupId: string | number;
1544
1537
  }> & AllAuditEventOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<AuditEventSchema[], C, E, P>>;
1545
- show<E extends boolean = false>(auditEventId: number, { projectId, groupId, ...options }?: EitherOrNone<{
1546
- projectId?: string | number;
1547
- }, {
1548
- groupId?: string | number;
1538
+ show<E extends boolean = false>(auditEventId: number, { projectId, groupId, ...options }?: OneOrNoneOf<{
1539
+ projectId: string | number;
1540
+ groupId: string | number;
1549
1541
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<AuditEventSchema, C, E, void>>;
1550
1542
  }
1551
1543
 
@@ -1729,9 +1721,8 @@ interface DashboardAnnotationSchema extends Record<string, unknown> {
1729
1721
  cluster_id?: null;
1730
1722
  }
1731
1723
  declare class DashboardAnnotations<C extends boolean = false> extends BaseResource<C> {
1732
- create<E extends boolean = false>(dashboardPath: string, startingAt: string, description: string, { environmentId, clusterId, ...options }?: Either<{
1724
+ create<E extends boolean = false>(dashboardPath: string, startingAt: string, description: string, { environmentId, clusterId, ...options }?: OneOf<{
1733
1725
  environmentId: number;
1734
- }, {
1735
1726
  clusterId: number;
1736
1727
  }> & {
1737
1728
  endingAt?: string;
@@ -1739,24 +1730,20 @@ declare class DashboardAnnotations<C extends boolean = false> extends BaseResour
1739
1730
  }
1740
1731
 
1741
1732
  declare class Debian<C extends boolean = false> extends BaseResource<C> {
1742
- downloadBinaryFileIndex<E extends boolean = false>(distribution: string, component: string, architecture: string, { projectId, groupId, ...options }: Either<{
1733
+ downloadBinaryFileIndex<E extends boolean = false>(distribution: string, component: string, architecture: string, { projectId, groupId, ...options }: OneOf<{
1743
1734
  projectId: string | number;
1744
- }, {
1745
1735
  groupId: string | number;
1746
1736
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<Blob, void, E, void>>;
1747
- downloadDistributionReleaseFile<E extends boolean = false>(distribution: string, { projectId, groupId, ...options }: Either<{
1737
+ downloadDistributionReleaseFile<E extends boolean = false>(distribution: string, { projectId, groupId, ...options }: OneOf<{
1748
1738
  projectId: string | number;
1749
- }, {
1750
1739
  groupId: string | number;
1751
1740
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<Blob, void, E, void>>;
1752
- downloadSignedDistributionReleaseFile<E extends boolean = false>(distribution: string, { projectId, groupId, ...options }: Either<{
1741
+ downloadSignedDistributionReleaseFile<E extends boolean = false>(distribution: string, { projectId, groupId, ...options }: OneOf<{
1753
1742
  projectId: string | number;
1754
- }, {
1755
1743
  groupId: string | number;
1756
1744
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<Blob, void, E, void>>;
1757
- downloadReleaseFileSignature<E extends boolean = false>(distribution: string, { projectId, groupId, ...options }: Either<{
1745
+ downloadReleaseFileSignature<E extends boolean = false>(distribution: string, { projectId, groupId, ...options }: OneOf<{
1758
1746
  projectId: string | number;
1759
- }, {
1760
1747
  groupId: string | number;
1761
1748
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<Blob, void, E, void>>;
1762
1749
  downloadPackageFile<E extends boolean = false>(projectId: string | number, distribution: string, letter: string, packageName: string, packageVersion: string, filename: string, options?: ShowExpanded<E>): Promise<GitlabAPIResponse<Blob, void, E, void>>;
@@ -1786,10 +1773,9 @@ interface ExpandedDeployKeySchema extends DeployKeySchema {
1786
1773
  projects_with_write_access?: SimpleProjectSchema[];
1787
1774
  }
1788
1775
  declare class DeployKeys<C extends boolean = false> extends BaseResource<C> {
1789
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, userId, ...options }?: EitherOrNone<{
1790
- projectId?: string | number;
1791
- }, {
1792
- userId?: string | number;
1776
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, userId, ...options }?: OneOrNoneOf<{
1777
+ projectId: string | number;
1778
+ userId: string | number;
1793
1779
  }> & {
1794
1780
  public?: boolean;
1795
1781
  } & PaginationRequestOptions<P> & BaseRequestOptions<E>): Promise<GitlabAPIResponse<ExpandedDeployKeySchema[], C, E, P>>;
@@ -1816,26 +1802,22 @@ interface DeployTokenSchema extends Record<string, unknown> {
1816
1802
  scopes?: DeployTokenScope[];
1817
1803
  }
1818
1804
  declare class DeployTokens<C extends boolean = false> extends BaseResource<C> {
1819
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: EitherOrNone<{
1805
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: OneOrNoneOf<{
1820
1806
  projectId: string | number;
1821
- }, {
1822
1807
  groupId: string | number;
1823
1808
  }> & {
1824
1809
  active?: boolean;
1825
1810
  } & PaginationRequestOptions<P> & BaseRequestOptions<E>): Promise<GitlabAPIResponse<DeployTokenSchema[], C, E, P>>;
1826
- create<E extends boolean = false>(name: string, scopes: string[], { projectId, groupId, ...options }?: Either<{
1811
+ create<E extends boolean = false>(name: string, scopes: string[], { projectId, groupId, ...options }?: OneOf<{
1827
1812
  projectId: string | number;
1828
- }, {
1829
1813
  groupId: string | number;
1830
1814
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<DeployTokenSchema, C, E, void>>;
1831
- remove<E extends boolean = false>(tokenId: number, { projectId, groupId, ...options }?: Either<{
1815
+ remove<E extends boolean = false>(tokenId: number, { projectId, groupId, ...options }?: OneOf<{
1832
1816
  projectId: string | number;
1833
- }, {
1834
1817
  groupId: string | number;
1835
1818
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<void, C, E, void>>;
1836
- show<E extends boolean = false>(tokenId: number, { projectId, groupId, ...options }?: Either<{
1819
+ show<E extends boolean = false>(tokenId: number, { projectId, groupId, ...options }?: OneOf<{
1837
1820
  projectId: string | number;
1838
- }, {
1839
1821
  groupId: string | number;
1840
1822
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<DeployTokenSchema, C, E, void>>;
1841
1823
  }
@@ -2560,9 +2542,8 @@ type EditMergeRequestOptions = {
2560
2542
  declare class MergeRequests<C extends boolean = false> extends BaseResource<C> {
2561
2543
  accept<E extends boolean = false>(projectId: string | number, mergerequestIId: number, options?: AcceptMergeRequestOptions & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<ExpandedMergeRequestSchema, C, E, void>>;
2562
2544
  addSpentTime<E extends boolean = false>(projectId: string | number, mergerequestIId: number, duration: string, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<TimeStatsSchema, C, E, void>>;
2563
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: AllMergeRequestsOptions & EitherOrNone<{
2545
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: AllMergeRequestsOptions & OneOrNoneOf<{
2564
2546
  projectId: string | number;
2565
- }, {
2566
2547
  groupId: string | number;
2567
2548
  }> & PaginationRequestOptions<P> & BaseRequestOptions<E>): Promise<GitlabAPIResponse<MergeRequestSchema[], C, E, P>>;
2568
2549
  allDiffs<E extends boolean = false>(projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<MergeRequestDiffSchema[], C, E, void>>;
@@ -2733,10 +2714,9 @@ declare class Issues<C extends boolean = false> extends BaseResource<C> {
2733
2714
  summary?: string;
2734
2715
  } & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<TimeStatsSchema, C, E, void>>;
2735
2716
  addTimeEstimate<E extends boolean = false>(projectId: string | number, issueIId: number, duration: string, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<TimeStatsSchema, C, E, void>>;
2736
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: EitherOrNone<{
2737
- projectId?: string | number;
2738
- }, {
2739
- groupId?: string | number;
2717
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: OneOrNoneOf<{
2718
+ projectId: string | number;
2719
+ groupId: string | number;
2740
2720
  }> & PaginationRequestOptions<P> & AllIssuesOptions & BaseRequestOptions<E>): Promise<GitlabAPIResponse<IssueSchema[], C, E, P>>;
2741
2721
  allMetricImages<E extends boolean = false>(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<MetricImageSchema[], C, E, void>>;
2742
2722
  allParticipants<E extends boolean = false>(projectId: string | number, issueIId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<MappedOmit<UserSchema, 'created_at'>[], C, E, void>>;
@@ -2853,9 +2833,8 @@ declare class ResourceLabels<C extends boolean = false> extends BaseResource<C>
2853
2833
  description?: string;
2854
2834
  priority?: number;
2855
2835
  } & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<LabelSchema, C, E, void>>;
2856
- edit<E extends boolean = false>(resourceId: number | string, labelId: number | string, options: Either<{
2836
+ edit<E extends boolean = false>(resourceId: number | string, labelId: number | string, options: OneOf<{
2857
2837
  newName: string;
2858
- }, {
2859
2838
  color: string;
2860
2839
  }> & {
2861
2840
  description?: string;
@@ -2889,12 +2868,10 @@ declare class ResourceIssueBoards<C extends boolean = false> extends BaseResourc
2889
2868
  all<E extends boolean = false, P extends PaginationTypes = 'offset'>(resourceId: string | number, options?: PaginationRequestOptions<P> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<IssueBoardSchema[], C, E, P>>;
2890
2869
  allLists<E extends boolean = false>(resourceId: string | number, boardId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<IssueBoardListSchema[], C, E, void>>;
2891
2870
  create<E extends boolean = false>(resourceId: string | number, name: string, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<IssueBoardSchema, C, E, void>>;
2892
- createList<E extends boolean = false>(resourceId: string | number, boardId: number, options?: EitherOrNone3<{
2893
- labelId?: number;
2894
- }, {
2895
- assigneeId?: number;
2896
- }, {
2897
- milestoneId?: number;
2871
+ createList<E extends boolean = false>(resourceId: string | number, boardId: number, options?: OneOrNoneOf<{
2872
+ labelId: number;
2873
+ assigneeId: number;
2874
+ milestoneId: number;
2898
2875
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<IssueBoardListSchema, C, E, void>>;
2899
2876
  edit<E extends boolean = false>(resourceId: string | number, boardId: number, options?: {
2900
2877
  name?: string;
@@ -3052,9 +3029,8 @@ declare class ResourceWikis<C extends boolean = false> extends BaseResource<C> {
3052
3029
  create<E extends boolean = false>(resourceId: string | number, content: string, title: string, options?: {
3053
3030
  format?: string;
3054
3031
  } & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<WikiSchema, C, E, void>>;
3055
- edit<E extends boolean = false>(resourceId: string | number, slug: string, options?: Either<{
3032
+ edit<E extends boolean = false>(resourceId: string | number, slug: string, options?: OneOf<{
3056
3033
  content: string;
3057
- }, {
3058
3034
  title: string;
3059
3035
  }> & {
3060
3036
  format?: string;
@@ -3188,9 +3164,8 @@ interface InvitationSchema extends Record<string, unknown> {
3188
3164
  }
3189
3165
  declare class ResourceInvitations<C extends boolean = false> extends BaseResource<C> {
3190
3166
  constructor(resourceType: string, options: BaseResourceOptions<C>);
3191
- add<E extends boolean = false>(resourceId: string | number, accessLevel: AccessLevel, options: Either<{
3167
+ add<E extends boolean = false>(resourceId: string | number, accessLevel: AccessLevel, options: OneOf<{
3192
3168
  email: string;
3193
- }, {
3194
3169
  userId: string;
3195
3170
  }> & {
3196
3171
  expiresAt?: string;
@@ -3245,11 +3220,9 @@ interface ProtectedEnvironmentSchema extends Record<string, unknown> {
3245
3220
  deploy_access_levels?: ProtectedEnvironmentAccessLevelSummarySchema[];
3246
3221
  required_approval_count: number;
3247
3222
  }
3248
- type ProtectedEnvironmentAccessLevelEntity = Either3<{
3223
+ type ProtectedEnvironmentAccessLevelEntity = OneOf<{
3249
3224
  userId: number;
3250
- }, {
3251
3225
  groupId: number;
3252
- }, {
3253
3226
  accessLevel: number;
3254
3227
  }>;
3255
3228
  declare class ResourceProtectedEnvironments<C extends boolean = false> extends BaseResource<C> {
@@ -3626,9 +3599,8 @@ interface KeySchema extends Record<string, unknown> {
3626
3599
  deploy_keys_projects?: DeployKeyProjectsSchema[];
3627
3600
  }
3628
3601
  declare class Keys<C extends boolean = false> extends BaseResource<C> {
3629
- show<E extends boolean = false>({ keyId, fingerprint, ...options }?: Either<{
3602
+ show<E extends boolean = false>({ keyId, fingerprint, ...options }?: OneOf<{
3630
3603
  keyId: number;
3631
- }, {
3632
3604
  fingerprint: string;
3633
3605
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<KeySchema, C, E, void>>;
3634
3606
  }
@@ -3719,9 +3691,8 @@ declare class Markdown<C extends boolean = false> extends BaseResource<C> {
3719
3691
  }
3720
3692
 
3721
3693
  declare class Maven<C extends boolean = false> extends BaseResource<C> {
3722
- downloadPackageFile<E extends boolean = false>(path: string, filename: string, { projectId, groupId, ...options }: EitherOrNone<{
3694
+ downloadPackageFile<E extends boolean = false>(path: string, filename: string, { projectId, groupId, ...options }: OneOrNoneOf<{
3723
3695
  projectId: string | number;
3724
- }, {
3725
3696
  groupId: string | number;
3726
3697
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<Blob, void, E, void>>;
3727
3698
  uploadPackageFile<E extends boolean = false>(projectId: string | number, path: string, packageFile: {
@@ -3824,14 +3795,12 @@ type EditNotificationSettingsOptions = {
3824
3795
  newEpic?: boolean;
3825
3796
  };
3826
3797
  declare class NotificationSettings<C extends boolean = false> extends BaseResource<C> {
3827
- edit<E extends boolean = false>({ groupId, projectId, ...options }?: EitherOrNone<{
3798
+ edit<E extends boolean = false>({ groupId, projectId, ...options }?: OneOrNoneOf<{
3828
3799
  projectId: string | number;
3829
- }, {
3830
3800
  groupId: string | number;
3831
3801
  }> & EditNotificationSettingsOptions & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<NotificationSettingSchema, C, E, void>>;
3832
- show<E extends boolean = false>({ groupId, projectId, ...options }?: EitherOrNone<{
3802
+ show<E extends boolean = false>({ groupId, projectId, ...options }?: OneOrNoneOf<{
3833
3803
  projectId: string | number;
3834
- }, {
3835
3804
  groupId: string | number;
3836
3805
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<NotificationSettingSchema, C, E, void>>;
3837
3806
  }
@@ -3929,29 +3898,25 @@ interface NuGetSearchResultsSchema extends Record<string, unknown> {
3929
3898
  }
3930
3899
  declare class NuGet<C extends boolean = false> extends BaseResource<C> {
3931
3900
  downloadPackageFile<E extends boolean = false>(projectId: string | number, packageName: string, packageVersion: string, filename: string, options?: ShowExpanded<E>): Promise<GitlabAPIResponse<Blob, void, E, void>>;
3932
- search<E extends boolean = false>(q: string, { projectId, groupId, ...options }: Either<{
3901
+ search<E extends boolean = false>(q: string, { projectId, groupId, ...options }: OneOf<{
3933
3902
  projectId: string | number;
3934
- }, {
3935
3903
  groupId: string | number;
3936
3904
  }> & {
3937
3905
  skip?: number;
3938
3906
  take?: number;
3939
3907
  prerelease?: boolean;
3940
3908
  } & ShowExpanded<E>): Promise<GitlabAPIResponse<NuGetSearchResultsSchema, C, E, void>>;
3941
- showMetadata<E extends boolean = false>(packageName: string, { projectId, groupId, ...options }: Either<{
3909
+ showMetadata<E extends boolean = false>(packageName: string, { projectId, groupId, ...options }: OneOf<{
3942
3910
  projectId: string | number;
3943
- }, {
3944
3911
  groupId: string | number;
3945
3912
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<NuGetServiceMetadataSchema, C, E, void>>;
3946
3913
  showPackageIndex<E extends boolean = false>(projectId: string | number, packageName: string, options?: ShowExpanded<E>): Promise<GitlabAPIResponse<NuGetPackageIndexSchema, C, E, void>>;
3947
- showServiceIndex<E extends boolean = false>({ projectId, groupId, ...options }: Either<{
3914
+ showServiceIndex<E extends boolean = false>({ projectId, groupId, ...options }: OneOf<{
3948
3915
  projectId: string | number;
3949
- }, {
3950
3916
  groupId: string | number;
3951
3917
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<NuGetServiceIndexSchema, C, E, void>>;
3952
- showVersionMetadata<E extends boolean = false>(packageName: string, packageVersion: string, { projectId, groupId, ...options }: Either<{
3918
+ showVersionMetadata<E extends boolean = false>(packageName: string, packageVersion: string, { projectId, groupId, ...options }: OneOf<{
3953
3919
  projectId: string | number;
3954
- }, {
3955
3920
  groupId: string | number;
3956
3921
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<NuGetServiceMetadataVersionSchema, C, E, void>>;
3957
3922
  uploadPackageFile<E extends boolean = false>(projectId: string | number, packageName: string, packageVersion: string, packageFile: {
@@ -3965,14 +3930,12 @@ declare class NuGet<C extends boolean = false> extends BaseResource<C> {
3965
3930
  }
3966
3931
 
3967
3932
  declare class PyPI<C extends boolean = false> extends BaseResource<C> {
3968
- downloadPackageFile<E extends boolean = false>(sha: string, fileIdentifier: string, { projectId, groupId, ...options }?: Either<{
3933
+ downloadPackageFile<E extends boolean = false>(sha: string, fileIdentifier: string, { projectId, groupId, ...options }?: OneOf<{
3969
3934
  projectId: string | number;
3970
- }, {
3971
3935
  groupId: string | number;
3972
3936
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<Blob, void, E, void>>;
3973
- showPackageDescriptor<E extends boolean = false>(packageName: string, { projectId, groupId, ...options }: Either<{
3937
+ showPackageDescriptor<E extends boolean = false>(packageName: string, { projectId, groupId, ...options }: OneOf<{
3974
3938
  projectId: string | number;
3975
- }, {
3976
3939
  groupId: string | number;
3977
3940
  }> & ShowExpanded<E>): Promise<GitlabAPIResponse<string, C, E, void>>;
3978
3941
  uploadPackageFile<E extends boolean = false>(projectId: string | number, packageFile: {
@@ -4067,54 +4030,44 @@ type AllSearchOptions = {
4067
4030
  confidential?: boolean;
4068
4031
  };
4069
4032
  declare class Search<C extends boolean = false> extends BaseResource<C> {
4070
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'users', search: string, options?: EitherOrNone<{
4033
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'users', search: string, options?: OneOrNoneOf<{
4071
4034
  projectId: string | number;
4072
- }, {
4073
4035
  groupId: string | number;
4074
4036
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<UserSchema[], C, E, void>>;
4075
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'notes', search: string, options?: EitherOrNone<{
4037
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'notes', search: string, options?: OneOrNoneOf<{
4076
4038
  projectId: string | number;
4077
- }, {
4078
4039
  groupId: string | number;
4079
4040
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<NoteSchema[], C, E, P>>;
4080
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'blobs', search: string, options?: EitherOrNone<{
4041
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'blobs', search: string, options?: OneOrNoneOf<{
4081
4042
  projectId: string | number;
4082
- }, {
4083
4043
  groupId: string | number;
4084
4044
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<BlobSchema[], C, E, P>>;
4085
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'commits', search: string, options?: EitherOrNone<{
4045
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'commits', search: string, options?: OneOrNoneOf<{
4086
4046
  projectId: string | number;
4087
- }, {
4088
4047
  groupId: string | number;
4089
4048
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<CommitSchema[], C, E, P>>;
4090
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'wiki_blobs', search: string, options?: EitherOrNone<{
4049
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'wiki_blobs', search: string, options?: OneOrNoneOf<{
4091
4050
  projectId: string | number;
4092
- }, {
4093
4051
  groupId: string | number;
4094
4052
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<BlobSchema[], C, E, P>>;
4095
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'snippet_titles', search: string, options?: EitherOrNone<{
4053
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'snippet_titles', search: string, options?: OneOrNoneOf<{
4096
4054
  projectId: string | number;
4097
- }, {
4098
4055
  groupId: string | number;
4099
4056
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<SimpleSnippetSchema[], C, E, P>>;
4100
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'milestones', search: string, options?: EitherOrNone<{
4057
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'milestones', search: string, options?: OneOrNoneOf<{
4101
4058
  projectId: string | number;
4102
- }, {
4103
4059
  groupId: string | number;
4104
4060
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<MilestoneSchema[], C, E, P>>;
4105
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'merge_requests', search: string, options?: EitherOrNone<{
4061
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'merge_requests', search: string, options?: OneOrNoneOf<{
4106
4062
  projectId: string | number;
4107
- }, {
4108
4063
  groupId: string | number;
4109
4064
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<MergeRequestSchema[], C, E, P>>;
4110
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'issues', search: string, options?: EitherOrNone<{
4065
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'issues', search: string, options?: OneOrNoneOf<{
4111
4066
  projectId: string | number;
4112
- }, {
4113
4067
  groupId: string | number;
4114
4068
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<IssueSchema[], C, E, P>>;
4115
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'projects', search: string, options?: EitherOrNone<{
4069
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(scope: 'projects', search: string, options?: OneOrNoneOf<{
4116
4070
  projectId: string | number;
4117
- }, {
4118
4071
  groupId: string | number;
4119
4072
  }> & AllSearchOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<ProjectSchema[], C, E, P>>;
4120
4073
  }
@@ -4341,9 +4294,8 @@ interface RegistryRepositorySchema extends Record<string, unknown> {
4341
4294
  }
4342
4295
  type CondensedRegistryRepositorySchema = MappedOmit<RegistryRepositorySchema, 'tags' | 'tags_count'>;
4343
4296
  declare class ContainerRegistry<C extends boolean = false> extends BaseResource<C> {
4344
- allRepositories<E extends boolean = false, P extends PaginationTypes = 'offset'>({ groupId, projectId, ...options }?: Either<{
4297
+ allRepositories<E extends boolean = false, P extends PaginationTypes = 'offset'>({ groupId, projectId, ...options }?: OneOf<{
4345
4298
  projectId: string | number;
4346
- }, {
4347
4299
  groupId: string | number;
4348
4300
  }> & {
4349
4301
  tags?: boolean;
@@ -4535,12 +4487,10 @@ type CreateRunnerOptions = {
4535
4487
  maintenanceNote?: string;
4536
4488
  };
4537
4489
  declare class Runners<C extends boolean = false> extends BaseResource<C> {
4538
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, owned, ...options }?: EitherOrNone3<{
4539
- projectId?: string | number;
4540
- }, {
4541
- owned?: boolean;
4542
- }, {
4543
- groupId?: string | number;
4490
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, owned, ...options }?: OneOrNoneOf<{
4491
+ projectId: string | number;
4492
+ owned: boolean;
4493
+ groupId: string | number;
4544
4494
  }> & AllRunnersOptions & BaseRequestOptions<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<RunnerSchema[], C, E, P>>;
4545
4495
  allJobs<E extends boolean = false>(runnerId: number, options?: Sudo & ShowExpanded<E> & {
4546
4496
  status?: string;
@@ -4552,14 +4502,12 @@ declare class Runners<C extends boolean = false> extends BaseResource<C> {
4552
4502
  enable<E extends boolean = false>(projectId: string | number, runnerId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<RunnerSchema, C, E, void>>;
4553
4503
  disable<E extends boolean = false>(projectId: string | number, runnerId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<void, C, E, void>>;
4554
4504
  register<E extends boolean = false>(token: string, options?: CreateRunnerOptions & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<RunnerToken, C, E, void>>;
4555
- remove<E extends boolean = false>({ runnerId, token, ...options }: Either<{
4505
+ remove<E extends boolean = false>({ runnerId, token, ...options }: OneOf<{
4556
4506
  runnerId: number;
4557
- }, {
4558
4507
  token: string;
4559
4508
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<void, C, E, void>>;
4560
- resetRegistrationToken<E extends boolean = false>({ runnerId, token, ...options }?: EitherOrNone<{
4509
+ resetRegistrationToken<E extends boolean = false>({ runnerId, token, ...options }?: OneOrNoneOf<{
4561
4510
  runnerId: string;
4562
- }, {
4563
4511
  token: string;
4564
4512
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<void, C, E, void>>;
4565
4513
  show<E extends boolean = false>(runnerId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<ExpandedRunnerSchema, C, E, void>>;
@@ -4586,9 +4534,8 @@ interface EnvironmentSchema extends Record<string, unknown> {
4586
4534
  type CondensedEnvironmentSchema = MappedOmit<EnvironmentSchema, 'last_deployment' | 'deployable'>;
4587
4535
  type ReviewAppSchema = MappedOmit<CondensedEnvironmentSchema, 'state'>;
4588
4536
  declare class Environments<C extends boolean = false> extends BaseResource<C> {
4589
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>(projectId: string | number, options?: PaginationRequestOptions<P> & EitherOrNone<{
4537
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>(projectId: string | number, options?: PaginationRequestOptions<P> & OneOrNoneOf<{
4590
4538
  name: string;
4591
- }, {
4592
4539
  search: string;
4593
4540
  }> & {
4594
4541
  states?: 'available' | 'stopping' | 'stopped';
@@ -5044,17 +4991,14 @@ type AllIssueStatisticsOptions = {
5044
4991
  confidential?: boolean;
5045
4992
  };
5046
4993
  declare class IssuesStatistics<C extends boolean = false> extends BaseResource<C> {
5047
- all<E extends boolean = false>({ projectId, groupId, ...options }?: EitherOrNone<{
4994
+ all<E extends boolean = false>({ projectId, groupId, ...options }?: OneOrNoneOf<{
5048
4995
  projectId: string | number;
5049
- }, {
5050
4996
  groupId: string | number;
5051
- }> & EitherOrNone<{
4997
+ }> & OneOrNoneOf<{
5052
4998
  authorId: number;
5053
- }, {
5054
4999
  authorUsername: string;
5055
- }> & EitherOrNone<{
5000
+ }> & OneOrNoneOf<{
5056
5001
  assigneeId: number;
5057
- }, {
5058
5002
  assigneeUsername: string;
5059
5003
  }> & AllIssueStatisticsOptions & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<StatisticsSchema, C, E, void>>;
5060
5004
  }
@@ -5312,9 +5256,8 @@ interface MergeRequestDiscussions<C extends boolean = false> extends ResourceDis
5312
5256
  commitId?: string;
5313
5257
  createdAt?: string;
5314
5258
  } & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<DiscussionSchema, C, E, void>>;
5315
- editNote<E extends boolean = false>(projectId: string | number, mergerequestId: string | number, discussionId: string, noteId: number, options: Sudo & ShowExpanded<E> & Either<{
5259
+ editNote<E extends boolean = false>(projectId: string | number, mergerequestId: string | number, discussionId: string, noteId: number, options: Sudo & ShowExpanded<E> & OneOf<{
5316
5260
  body: string;
5317
- }, {
5318
5261
  resolved: boolean;
5319
5262
  }>): Promise<GitlabAPIResponse<MergeRequestDiscussionNoteSchema, C, E, void>>;
5320
5263
  removeNote<E extends boolean = false>(projectId: string | number, mergerequestId: string | number, discussionId: string, noteId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<void, C, E, void>>;
@@ -5512,9 +5455,8 @@ type AllPackageOptions = {
5512
5455
  status?: 'default' | 'hidden' | 'processing' | 'error' | 'pending_destruction';
5513
5456
  };
5514
5457
  declare class Packages<C extends boolean = false> extends BaseResource<C> {
5515
- all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: Either<{
5458
+ all<E extends boolean = false, P extends PaginationTypes = 'offset'>({ projectId, groupId, ...options }?: OneOf<{
5516
5459
  projectId: string | number;
5517
- }, {
5518
5460
  groupId: string | number;
5519
5461
  }> & AllPackageOptions & Sudo & ShowExpanded<E> & PaginationRequestOptions<P>): Promise<GitlabAPIResponse<PackageSchema[], C, E, P>>;
5520
5462
  allFiles<E extends boolean = false>(projectId: string | number, packageId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<PackageFileSchema[], C, E, void>>;
@@ -5791,9 +5733,8 @@ declare class ProjectImportExports<C extends boolean = false> extends BaseResour
5791
5733
  }
5792
5734
 
5793
5735
  interface ProjectInvitations<C extends boolean = false> {
5794
- add<E extends boolean = false>(projectId: string | number, accessLevel: AccessLevel, options: Either<{
5736
+ add<E extends boolean = false>(projectId: string | number, accessLevel: AccessLevel, options: OneOf<{
5795
5737
  email: string;
5796
- }, {
5797
5738
  userId: string;
5798
5739
  }> & {
5799
5740
  expiresAt?: string;
@@ -5821,12 +5762,10 @@ interface ProjectIssueBoards<C extends boolean = false> extends ResourceIssueBoa
5821
5762
  all<E extends boolean = false, P extends PaginationTypes = 'offset'>(projectId: string | number, options?: PaginationRequestOptions<P> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<ProjectIssueBoardSchema[], C, E, P>>;
5822
5763
  allLists<E extends boolean = false>(projectId: string | number, boardId: number, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<IssueBoardListSchema[], C, E, void>>;
5823
5764
  create<E extends boolean = false>(projectId: string | number, name: string, options?: Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<ProjectIssueBoardSchema, C, E, void>>;
5824
- createList<E extends boolean = false>(projectId: string | number, boardId: number, options?: EitherOrNone3<{
5825
- labelId?: number;
5826
- }, {
5827
- assigneeId?: number;
5828
- }, {
5829
- milestoneId?: number;
5765
+ createList<E extends boolean = false>(projectId: string | number, boardId: number, options?: OneOrNoneOf<{
5766
+ labelId: number;
5767
+ assigneeId: number;
5768
+ milestoneId: number;
5830
5769
  }> & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<IssueBoardListSchema, C, E, void>>;
5831
5770
  edit<E extends boolean = false>(projectId: string | number, boardId: number, options?: {
5832
5771
  name?: string;
@@ -5862,9 +5801,8 @@ interface ProjectLabels<C extends boolean = false> extends ResourceLabels<C> {
5862
5801
  description?: string;
5863
5802
  priority?: number;
5864
5803
  } & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<LabelSchema, C, E, void>>;
5865
- edit<E extends boolean = false>(projectId: string | number, labelId: number | string, options: Either<{
5804
+ edit<E extends boolean = false>(projectId: string | number, labelId: number | string, options: OneOf<{
5866
5805
  newName: string;
5867
- }, {
5868
5806
  color: string;
5869
5807
  }> & {
5870
5808
  description?: string;
@@ -6210,9 +6148,8 @@ interface ProjectWikis<C extends boolean = false> extends ResourceWikis<C> {
6210
6148
  create<E extends boolean = false>(projectId: string | number, content: string, title: string, options?: {
6211
6149
  format?: string;
6212
6150
  } & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<WikiSchema, C, E, void>>;
6213
- edit<E extends boolean = false>(projectId: string | number, slug: string, options?: Either<{
6151
+ edit<E extends boolean = false>(projectId: string | number, slug: string, options?: OneOf<{
6214
6152
  content: string;
6215
- }, {
6216
6153
  title: string;
6217
6154
  }> & {
6218
6155
  format?: string;
@@ -6243,11 +6180,9 @@ interface ProtectedTagSchema extends Record<string, unknown> {
6243
6180
  name: string;
6244
6181
  create_access_levels?: ProtectedTagAccessLevelSummarySchema[];
6245
6182
  }
6246
- type ProtectedTagAccessLevelEntity = Either3<{
6183
+ type ProtectedTagAccessLevelEntity = OneOf<{
6247
6184
  userId: number;
6248
- }, {
6249
6185
  groupId: number;
6250
- }, {
6251
6186
  accessLevel: number;
6252
6187
  }>;
6253
6188
  declare class ProtectedTags<C extends boolean = false> extends BaseResource<C> {
@@ -6877,9 +6812,8 @@ declare class GroupImportExports<C extends boolean = false> extends BaseResource
6877
6812
  }
6878
6813
 
6879
6814
  interface GroupInvitations<C extends boolean = false> {
6880
- add<E extends boolean = false>(groupId: string | number, accessLevel: AccessLevel, options: Either<{
6815
+ add<E extends boolean = false>(groupId: string | number, accessLevel: AccessLevel, options: OneOf<{
6881
6816
  email: string;
6882
- }, {
6883
6817
  userId: string;
6884
6818
  }> & {
6885
6819
  expiresAt?: string;
@@ -6944,9 +6878,8 @@ interface GroupLabels<C extends boolean = false> extends ResourceLabels<C> {
6944
6878
  description?: string;
6945
6879
  priority?: number;
6946
6880
  } & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<LabelSchema, C, E, void>>;
6947
- edit<E extends boolean = false>(groupId: string | number, labelId: number | string, options: Either<{
6881
+ edit<E extends boolean = false>(groupId: string | number, labelId: number | string, options: OneOf<{
6948
6882
  newName: string;
6949
- }, {
6950
6883
  color: string;
6951
6884
  }> & {
6952
6885
  description?: string;
@@ -7170,9 +7103,8 @@ interface GroupWikis<C extends boolean = false> extends ResourceWikis<C> {
7170
7103
  create<E extends boolean = false>(groupId: string | number, content: string, title: string, options?: {
7171
7104
  format?: string;
7172
7105
  } & Sudo & ShowExpanded<E>): Promise<GitlabAPIResponse<WikiSchema, C, E, void>>;
7173
- edit<E extends boolean = false>(groupId: string | number, slug: string, options?: Either<{
7106
+ edit<E extends boolean = false>(groupId: string | number, slug: string, options?: OneOf<{
7174
7107
  content: string;
7175
- }, {
7176
7108
  title: string;
7177
7109
  }> & {
7178
7110
  format?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitbeaker/core",
3
- "version": "39.8.0",
3
+ "version": "39.9.0",
4
4
  "description": "Core API implementation of the GitLab API",
5
5
  "license": "MIT",
6
6
  "engines": {
@@ -55,7 +55,7 @@
55
55
  "release": "auto shipit"
56
56
  },
57
57
  "dependencies": {
58
- "@gitbeaker/requester-utils": "^39.8.0",
58
+ "@gitbeaker/requester-utils": "^39.9.0",
59
59
  "qs": "^6.11.2",
60
60
  "xcase": "^2.0.1"
61
61
  },
@@ -66,5 +66,5 @@
66
66
  "tsx": "^3.12.7",
67
67
  "typescript": "^5.1.6"
68
68
  },
69
- "gitHead": "86724f338e9deee46bcc311a85a56b4c44883207"
69
+ "gitHead": "9e2f13f9824b134e03b27db1ba9265dd35879631"
70
70
  }