import type { AgentAdapter, DetectionResult, InstallOptions, InstallReport, InstallState, Scope } from "../types.js";
export interface RunResult {
    stdout: string;
    stderr: string;
    exitCode: number;
}
export interface CopilotCliDeps {
    run: (cmd: string, args: string[]) => Promise<RunResult>;
    existsSync: (p: string) => boolean;
    readFileSync: (p: string, encoding?: BufferEncoding) => string;
    homedir: () => string;
    fetchLatestVersion: () => Promise<string | undefined>;
}
export declare function defaultCopilotCliDeps(): CopilotCliDeps;
export declare class CopilotCliAdapter implements AgentAdapter {
    readonly id = "copilot";
    readonly displayName = "GitHub Copilot CLI";
    private deps;
    constructor(deps?: CopilotCliDeps);
    supportsScopes(): Scope[];
    detect(): Promise<DetectionResult>;
    getInstallState(_scope: Scope): Promise<InstallState>;
    private pluginJsonPath;
    private queryLocalInstallState;
    private enrichWithLatest;
    install(opts: InstallOptions): Promise<InstallReport>;
}
export declare const copilotCliAdapter: AgentAdapter;
//# sourceMappingURL=copilot-cli.d.ts.map