import type { AdapterState, AdapterHealth } from "../../types/index.js"; import type { GitHubAdapter, GitHubConfig, GitHubRepositoryStatus, GitHubRepositoryHealth, CreateIssueResult, CreatePullRequestResult, MergePullRequestResult, CreateReleaseResult } from "./types.js"; import { type GitHubFetchFn } from "./client.js"; export declare class GitHubAdapterImpl implements GitHubAdapter { readonly metadata: { name: string; version: string; kind: "github"; category: "integration"; description: string; }; private _state; private _config?; private _health; private _client?; constructor(fetchFn?: GitHubFetchFn); private _fetchFn?; get state(): AdapterState; get config(): GitHubConfig | undefined; get health(): AdapterHealth; private setHealth; private transition; private client; private repoPath; discover(): Promise; configure(config: Record): Promise; validate(): Promise; enable(): Promise; disable(): Promise; healthCheck(): Promise; initialize(): Promise; status(): Promise; checkHealth(): Promise; createIssue(title: string, body?: string): Promise; updateIssue(number: number, updates: Partial<{ title: string; state: string; }>): Promise; closeIssue(number: number): Promise; createPullRequest(title: string, head: string, base: string, body?: string): Promise; reviewPullRequest(number: number, event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT", body?: string): Promise; mergePullRequest(number: number): Promise; createRelease(tagName: string, name: string, body?: string): Promise; syncRepository(): Promise; } export declare function createGitHubAdapter(fetchFn?: import("./client.js").GitHubFetchFn): GitHubAdapterImpl;