import { LogLine } from "./v3/types/public/logs.js";
import { LLMClient } from "./v3/llm/LLMClient.js";
import type { InferStagehandSchema, StagehandZodObject } from "./v3/zodCompat.js";
export type { LLMParsedResponse, LLMUsage } from "./v3/llm/LLMClient.js";
export declare function extract<T extends StagehandZodObject>({ instruction, domElements, schema, llmClient, logger, userProvidedInstructions, logInferenceToFile, }: {
    instruction: string;
    domElements: string;
    schema: T;
    llmClient: LLMClient;
    userProvidedInstructions?: string;
    logger: (message: LogLine) => void;
    logInferenceToFile?: boolean;
}): Promise<InferStagehandSchema<T> & {
    metadata: {
        completed: boolean;
        progress: string;
    };
    prompt_tokens: number;
    completion_tokens: number;
    reasoning_tokens: number;
    cached_input_tokens: number;
    inference_time_ms: number;
}>;
export declare function observe({ instruction, domElements, llmClient, userProvidedInstructions, logger, logInferenceToFile, supportedActions, }: {
    instruction: string;
    domElements: string;
    llmClient: LLMClient;
    userProvidedInstructions?: string;
    logger: (message: LogLine) => void;
    logInferenceToFile?: boolean;
    supportedActions?: string[];
}): Promise<{
    elements: {
        elementId: string;
        description: string;
        method: string;
        arguments: string[];
    }[];
    prompt_tokens: number;
    completion_tokens: number;
    reasoning_tokens: number;
    cached_input_tokens: number;
    inference_time_ms: number;
}>;
export declare function act({ instruction, domElements, llmClient, userProvidedInstructions, logger, logInferenceToFile, }: {
    instruction: string;
    domElements: string;
    llmClient: LLMClient;
    userProvidedInstructions?: string;
    logger: (message: LogLine) => void;
    logInferenceToFile?: boolean;
}): Promise<{
    element: {
        elementId: string;
        description: string;
        method: string;
        arguments: string[];
    };
    prompt_tokens: number;
    completion_tokens: number;
    reasoning_tokens: number;
    cached_input_tokens: number;
    inference_time_ms: number;
    twoStep: boolean;
}>;
