import { E as ExecutionTask, a as ExecutionTaskProgressOptions, b as ExecutionTaskApply, c as ExecutionDump, B as BaseElement, U as UIContext, I as InsightAction, D as DumpSubscriber, d as InsightOptions, e as InsightTaskInfo, A as AISingleElementResponse, f as InsightAssertionResponse } from './types-55182ae1.js';
export { o as AIAssertionResponse, k as AIElementIdResponse, l as AIElementPositionResponse, m as AIElementResponse, h as AIResponseFormat, n as AISectionParseResponse, i as AISingleElementResponseById, j as AISingleElementResponseByPosition, g as AIUsageInfo, x as AgentAssertOpt, w as AgentWaitForOpt, X as BaseAgentParserOpt, C as CallAIFn, W as Color, r as DumpMeta, v as ElementById, p as EnsureObject, _ as ExecutionRecorderItem, ag as ExecutionTaskAction, af as ExecutionTaskActionApply, ae as ExecutionTaskInsightAssertion, ad as ExecutionTaskInsightAssertionApply, ac as ExecutionTaskInsightAssertionParam, a5 as ExecutionTaskInsightDumpLog, a7 as ExecutionTaskInsightLocate, a6 as ExecutionTaskInsightLocateApply, a4 as ExecutionTaskInsightLocateOutput, a3 as ExecutionTaskInsightLocateParam, ab as ExecutionTaskInsightQuery, aa as ExecutionTaskInsightQueryApply, a9 as ExecutionTaskInsightQueryOutput, a8 as ExecutionTaskInsightQueryParam, ai as ExecutionTaskPlanning, ah as ExecutionTaskPlanningApply, a2 as ExecutionTaskReturn, $ as ExecutionTaskType, a0 as ExecutorContext, aj as GroupedActionDump, t as InsightDump, q as InsightExtractParam, L as LiteUISection, u as PartialInsightDumpFromSDK, F as PlanningAIResponse, z as PlanningAction, O as PlanningActionParamAssert, T as PlanningActionParamError, K as PlanningActionParamHover, M as PlanningActionParamInputOrKeyPress, H as PlanningActionParamPlan, N as PlanningActionParamScroll, Q as PlanningActionParamSleep, J as PlanningActionParamTap, V as PlanningActionParamWaitFor, G as PlanningFurtherPlan, y as PlanningLocateParam, Z as PlaywrightParserOpt, P as Point, Y as PuppeteerParserOpt, R as Rect, s as ReportDumpWithAttributes, S as Size, a1 as TaskCacheInfo } from './types-55182ae1.js';
export { allAIConfig, getAIConfig, overrideAIConfig } from './env.js';
import { c as callAiFn, r as retrieveElement, a as retrieveSection } from './index-43fd19f4.js';
export { p as plan, t as transformElementPositionToId } from './index-43fd19f4.js';
export { getLogDirByType, getVersion, setLogDir } from './utils.js';
import 'openai/resources';

declare class Executor {
    name: string;
    description?: string;
    tasks: ExecutionTask[];
    status: 'init' | 'pending' | 'running' | 'completed' | 'error';
    onTaskStart?: ExecutionTaskProgressOptions['onTaskStart'];
    constructor(name: string, description?: string, tasks?: ExecutionTaskApply[], options?: ExecutionTaskProgressOptions);
    private markTaskAsPending;
    append(task: ExecutionTaskApply[] | ExecutionTaskApply): Promise<void>;
    flush(): Promise<any>;
    isInErrorState(): boolean;
    latestErrorTask(): ExecutionTask | null;
    dump(): ExecutionDump;
}

declare class Insight<ElementType extends BaseElement = BaseElement, ContextType extends UIContext<ElementType> = UIContext<ElementType>> {
    contextRetrieverFn: (action: InsightAction) => Promise<ContextType> | ContextType;
    aiVendorFn: (...args: Array<any>) => Promise<any>;
    onceDumpUpdatedFn?: DumpSubscriber;
    generateElement: InsightOptions['generateElement'];
    taskInfo?: Omit<InsightTaskInfo, 'durationMs'>;
    constructor(context: ContextType | ((action: InsightAction) => Promise<ContextType> | ContextType), opt?: InsightOptions);
    locate(queryPrompt: string, opt?: {
        callAI?: typeof callAiFn<AIElementResponse>;
        quickAnswer?: AISingleElementResponse | null;
    }): Promise<ElementType | null>;
    locate(queryPrompt: string, opt: {
        multi: true;
    }): Promise<ElementType[]>;
    extract<T = any>(input: string): Promise<T>;
    extract<T extends Record<string, string>>(input: T): Promise<Record<keyof T, any>>;
    extract<T extends object>(input: Record<keyof T, string>): Promise<T>;
    assert(assertion: string): Promise<InsightAssertionResponse>;
}

declare const getElement: typeof retrieveElement;
declare const getSection: typeof retrieveSection;

export { AISingleElementResponse, BaseElement, DumpSubscriber, ExecutionDump, ExecutionTask, ExecutionTaskApply, ExecutionTaskProgressOptions, Executor, Insight, InsightAction, InsightAssertionResponse, InsightOptions, InsightTaskInfo, UIContext, Insight as default, getElement, getSection };
