import type { AgentAdapter, DetectionResult, InstallOptions, InstallReport, InstallState, Scope } from "../types.js";
export interface RunResult {
    stdout: string;
    stderr: string;
    exitCode: number;
}
export interface QwenCodeDeps {
    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 defaultQwenCodeDeps(): QwenCodeDeps;
export declare class QwenCodeAdapter implements AgentAdapter {
    readonly id = "qwen";
    readonly displayName = "Qwen Code";
    private deps;
    constructor(deps?: QwenCodeDeps);
    supportsScopes(): Scope[];
    detect(): Promise<DetectionResult>;
    getInstallState(_scope: Scope): Promise<InstallState>;
    private canonicalSkillPath;
    private manifestPath;
    private queryLocalInstallState;
    private enrichWithLatest;
    install(opts: InstallOptions): Promise<InstallReport>;
}
export declare const qwenCodeAdapter: AgentAdapter;
//# sourceMappingURL=qwen-code.d.ts.map