export type GitHubFetchFn = (url: string, init: RequestInit) => Promise; export declare class GitHubClient { private baseUrl; private token; private fetchFn; constructor(config: { baseUrl?: string; token: string; }, fetchFn?: GitHubFetchFn); private headers; request(method: string, path: string, body?: unknown): Promise; get(path: string): Promise; post(path: string, body: unknown): Promise; patch(path: string, body: unknown): Promise; put(path: string, body?: unknown): Promise; } export declare function createGitHubClient(config: { baseUrl?: string; token: string; }, fetchFn?: GitHubFetchFn): GitHubClient;