import type { SourceChangeRequestInput, SourceChangeRequestResult, SourceFile, SourceFileHistoryEntry, SourceFileHistoryInput, SourceFileListEntry, SourceFileListInput, SourceFileRef, SourceControlCapabilities, SourceControlProvider, SourceWriteFileInput, SourceWriteResult } from '../source-control.js'; export type GitHubSourceControlProviderConfig = { endpoint: string; token: string; pathPrefix?: string; fetch?: typeof fetch; }; export declare class GitHubSourceControlProvider implements SourceControlProvider { readonly id = "github"; readonly displayName = "GitHub"; private readonly endpoint; private readonly token; private readonly pathPrefix; private readonly fetch; constructor(config: GitHubSourceControlProviderConfig); getCapabilities(): Promise; readFile(input: SourceFileRef): Promise; writeFile(input: SourceWriteFileInput): Promise; listFileHistory(input: SourceFileHistoryInput): Promise; listFiles(input: SourceFileListInput): Promise; openChangeRequest(input: SourceChangeRequestInput): Promise; private sourcePath; private unsourcePath; private request; } export declare function createGitHubSourceControlProviderFromEnv(env?: Record, defaults?: { pathPrefix?: string; }): GitHubSourceControlProvider | undefined; //# sourceMappingURL=github.d.ts.map