import { ITGitRequestConfig } from '..'; import { ProjectId, IUser, IBranch } from '../base'; export interface IProtect extends IBranch { suggestion_reviewers: IUser[]; necessary_reviewers: IUser[]; can_approve_by_creator: boolean; approver_rule: number; merge_request_template: string; } export interface IProtectRules { id: number | string; projectId: number; name: string; rule_id: number; created_at: string; updated_at: string; } export interface IProtected { members: IProtectedMembers; get: IBranchesProtectGet; } export type IProtectedMembers = ( params: { id: ProjectId; protected_branch_name: string; }, requestOptions?: ITGitRequestConfig, ) => Promise; export type IBranchesProtectGet = ( params: { id: ProjectId; protected_branch_name: string; }, requestOptions?: ITGitRequestConfig, ) => Promise;