/**
 * GitHub Provider Adapter
 *
 * Implements ProviderAdapter for GitHub Issues + REST API.
 * Wraps the existing GitHubClientV2 from specweave plugin (github integration).
 */
import { type ProviderAdapter, type ExternalRef, type UserStoryData, type FeatureData, type FieldChanges, type ExternalChange, type ItemState, type ExpectedState, type ReconcileResult, type DetectedHierarchy, type Label, type LabelConfig } from '../engine.js';
export interface GitHubAdapterConfig {
    owner: string;
    repo: string;
    token?: string;
}
export declare class GitHubAdapter implements ProviderAdapter {
    readonly platform: "github";
    readonly suffix: "G";
    private owner;
    private repo;
    private token;
    private baseUrl;
    constructor(config: GitHubAdapterConfig);
    testConnection(): Promise<{
        ok: boolean;
        error?: string;
    }>;
    createIssue(story: UserStoryData, feature: FeatureData): Promise<ExternalRef>;
    updateIssue(ref: ExternalRef, changes: FieldChanges): Promise<void>;
    closeIssue(ref: ExternalRef, comment?: string): Promise<void>;
    reopenIssue(ref: ExternalRef): Promise<void>;
    pullChanges(since?: Date): Promise<ExternalChange[]>;
    getIssueState(ref: ExternalRef): Promise<ItemState>;
    applyLabels(ref: ExternalRef, labels: Label[]): Promise<void>;
    detectHierarchy(): Promise<DetectedHierarchy>;
    reconcile(items: ExpectedState[]): Promise<ReconcileResult>;
    generateLabels(config: LabelConfig): Label[];
    private buildIssueBody;
    private mapStatusToGitHub;
    private extractUsId;
    private ensureLabelExists;
    private apiRequest;
}
//# sourceMappingURL=github.d.ts.map