import type { BaseResourceOptions } from '@gitbeaker/requester-utils'; import { ResourceMilestones } from '../templates'; import type { AllMilestonesOptions, BurndownChartEventSchema, MilestoneSchema, } from '../templates/ResourceMilestones'; import type { GitlabAPIResponse, PaginationRequestOptions, PaginationTypes, ShowExpanded, Sudo, } from '../infrastructure'; import type { IssueSchema } from './Issues'; import type { MergeRequestSchema } from './MergeRequests'; export 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>; } export class GroupMilestones extends ResourceMilestones { constructor(options: BaseResourceOptions) { /* istanbul ignore next */ super('groups', options); } }