export interface AttachClientOptions {
    url: string;
    token?: string;
    clientToken?: string;
    stdin?: NodeJS.ReadableStream;
    stdout?: NodeJS.WritableStream;
    stderr?: NodeJS.WritableStream;
}
export interface AttachClientTarget {
    baseUrl: string;
    token: string;
}
type AttachClientCommand = {
    type: "prompt";
    message: string;
} | {
    type: "steer";
    message: string;
} | {
    type: "follow_up";
    message: string;
} | {
    type: "abort";
};
export declare function parseAttachClientArgs(args: string[]): AttachClientOptions;
export declare class AttachClientUsageError extends Error {
    constructor();
}
export declare function formatAttachClientUsage(appName?: string): string;
export declare function resolveAttachClientTarget(options: Pick<AttachClientOptions, "url" | "token">): AttachClientTarget;
export declare function runAttachClient(options: AttachClientOptions): Promise<number>;
export declare function parseInputCommand(line: string): AttachClientCommand;
export {};
//# sourceMappingURL=attach-client.d.ts.map