import type { BaseResourceOptions } from '@gitbeaker/requester-utils'; import { ResourceHooks } from '../templates'; import type { AddResourceHookOptions, EditResourceHookOptions, ExpandedHookSchema, } from '../templates/ResourceHooks'; import type { GitlabAPIResponse, PaginationRequestOptions, PaginationTypes, ShowExpanded, Sudo, } from '../infrastructure'; export interface GroupHookSchema extends ExpandedHookSchema { groupId: number; subgroup_events: boolean; } export 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>; } export class GroupHooks extends ResourceHooks { constructor(options: BaseResourceOptions) { /* istanbul ignore next */ super('groups', options); } }