import { ITGitRequestConfig } from '..'; import { ProjectId, IPerPageParams } from '../base'; export interface IHook { id: number; url: string; created_at: string; project_id: number; push_events: boolean; issues_events: boolean; merge_requests_events: boolean; tag_push_events: boolean; note_events: boolean; review_events: boolean; } export interface IHooks { ( params: { id: ProjectId; } & IPerPageParams, requestOptions?: ITGitRequestConfig, ): Promise; add: IHooksAdd; get: IHooksGet; modify: IHooksModify; delete: IHooksDelete; } type IHooksAdd = ( params: { id: ProjectId; url: string; push_events: boolean; issues_events: boolean; merge_requests_events: boolean; tag_push_events: boolean; note_events: boolean; review_events: boolean; token?: string; }, requestOptions?: ITGitRequestConfig, ) => Promise; type IHooksGet = ( params: { id: ProjectId; hook_id: number; }, requestOptions?: ITGitRequestConfig, ) => Promise; type IHooksModify = ( params: { id: ProjectId; hook_id: number; url: string; push_events?: boolean; issues_events?: boolean; merge_requests_events?: boolean; tag_push_events?: boolean; note_events?: boolean; review_events?: boolean; token?: string; }, requestOptions?: ITGitRequestConfig, ) => Promise; type IHooksDelete = ( params: { id: ProjectId; hook_id: number; }, requestOptions?: ITGitRequestConfig, ) => Promise;