import { AxiosInstance } from "axios"; import { type ForgejoConfig, type ICacheManager, type IErrorHandler, type ILogger } from "./types.js"; export declare abstract class BaseForgejoService { protected readonly config: ForgejoConfig; protected readonly errorHandler: IErrorHandler; protected readonly logger: ILogger; protected readonly cacheManager: ICacheManager; protected readonly axiosInstance: AxiosInstance; protected readonly maxRetries: number; constructor(config: ForgejoConfig, errorHandler: IErrorHandler, logger: ILogger, cacheManager: ICacheManager); protected validateRepoParams(owner: string, name?: string): void; protected makeRequest(operation: string, request: () => Promise, context?: Record): Promise; }