/**
 * Flutter Automation API
 * High-level API for automating Flutter web applications
 */
import { Page } from 'playwright';
import { FlutterQuantumDebugger } from './flutter-quantum-debugger.js';
import { FormData } from './flutter-form-filler.js';
export interface FlutterAutomationSession {
    id: string;
    debugger: FlutterQuantumDebugger;
    page: Page;
}
export interface AutomationResult {
    success: boolean;
    message: string;
    details?: any;
    screenshot?: string;
}
export declare class FlutterAutomation {
    private debugger;
    constructor();
    /**
     * Start an automation session
     */
    startSession(page: Page, sessionId: string): Promise<FlutterAutomationSession>;
    /**
     * Navigate to a Flutter app and prepare for automation
     */
    navigateAndPrepare(session: FlutterAutomationSession, url: string): Promise<AutomationResult>;
    /**
     * Click on an element by its text
     */
    click(session: FlutterAutomationSession, elementText: string): Promise<AutomationResult>;
    /**
     * Type text into a field
     */
    type(session: FlutterAutomationSession, fieldName: string, text: string): Promise<AutomationResult>;
    /**
     * Fill an entire form
     */
    fillForm(session: FlutterAutomationSession, formData: FormData): Promise<AutomationResult>;
    /**
     * Submit a form
     */
    submitForm(session: FlutterAutomationSession, submitButtonText?: string): Promise<AutomationResult>;
    /**
     * Take a screenshot
     */
    screenshot(session: FlutterAutomationSession, filename?: string): Promise<AutomationResult>;
    /**
     * Wait for an element to appear
     */
    waitForElement(session: FlutterAutomationSession, elementText: string, timeout?: number): Promise<AutomationResult>;
    /**
     * Get all visible text on the page
     */
    getPageText(session: FlutterAutomationSession): Promise<AutomationResult>;
}
//# sourceMappingURL=flutter-automation-api.d.ts.map