import type { BaseResourceOptions } from '@gitbeaker/requester-utils'; import { ResourcePushRules } from '../templates'; import type { CreateAndEditPushRuleOptions, PushRuleSchema } from '../templates/ResourcePushRules'; import type { GitlabAPIResponse, ShowExpanded, Sudo } from '../infrastructure'; export 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>; } export class ProjectPushRules extends ResourcePushRules { constructor(options: BaseResourceOptions) { /* istanbul ignore next */ super('projects', options); } }