import { BaseResource } from '@gitbeaker/requester-utils'; import { RequestHelper, endpoint } from '../infrastructure'; import type { GitlabAPIResponse, PaginationRequestOptions, PaginationTypes, ShowExpanded, Sudo, } from '../infrastructure'; export type ProjectTemplateType = | 'dockerfiles' | 'gitignores' | 'gitlab_ci_ymls' | 'licenses' | 'issues' | 'merge_requests'; export interface ProjectTemplateSchema extends Record { name: string; content: string; } export class ProjectTemplates extends BaseResource { all( projectId: string | number, type: ProjectTemplateType, options?: PaginationRequestOptions

& Sudo & ShowExpanded, ): Promise> { return RequestHelper.get()( this, endpoint`projects/${projectId}/templates/${type}`, options, ); } show( projectId: string | number, type: ProjectTemplateType, name: string, options?: { project?: string; fullname?: string; sourceTemplateProjectId?: number } & Sudo & ShowExpanded, ): Promise> { return RequestHelper.get()( this, endpoint`projects/${projectId}/templates/${type}/${name}`, options, ); } }