import type { CommandContext, ExecResult as JustBashExecResult } from 'just-bash';
import type { VirtualFS } from '../virtual-fs';
export interface PlaywrightSelectorContext {
    role: string;
    name: string;
    tagName: string;
    testId?: string;
    elementRect?: {
        x: number;
        y: number;
        width: number;
        height: number;
    };
}
export type PlaywrightCommandListener = (subcommand: string, args: string[], result: JustBashExecResult, selectorContext?: PlaywrightSelectorContext) => void;
export declare function onPlaywrightCommand(fn: PlaywrightCommandListener): () => void;
export declare function getRole(el: Element): string | null;
export declare function getAccessibleName(el: Element): string;
export interface SnapshotNode {
    role: string;
    name: string;
    ref: string;
    attrs: string[];
    children: SnapshotNode[];
}
export declare function buildSnapshotTree(root: Element): SnapshotNode[];
export declare function runPlaywrightCommand(args: string[], _ctx: CommandContext, _vfs: VirtualFS): Promise<JustBashExecResult>;
//# sourceMappingURL=playwright-command.d.ts.map