import { Template } from "./template.js"; import { DocumentLoadState, ExtractResult, ExtractState, Select, Transform, YieldLocator, YieldNavigate, YieldParams, YieldScreenshot } from "./package/index.js"; export interface NavigateResult { status?: number; } export interface HostOptions { template: Template; url?: string; params?: Record; unwrap?: boolean; debug?: boolean; extractHtml?: boolean; maxYields?: number; retries?: number; retryDelay?: number[]; onExtract?: (state: ExtractState, script: string) => Promise; onGoback?: (options: { timeout?: number; waitUntil?: DocumentLoadState; }) => Promise; onHtml?: () => Promise; onLocator?: (options: YieldLocator) => Promise; onNavigate?: (options: YieldNavigate & { timeout?: number; waitUntil?: DocumentLoadState; }) => Promise; onReload?: (options: { timeout?: number; waitUntil?: DocumentLoadState; }) => Promise; onScreenshot?: (options: YieldScreenshot) => Promise; onYield?: (params: YieldParams) => Promise; } export declare function host({ maxYields, retries, retryDelay, ...options }: HostOptions): Promise; export declare function expandTemplateUrl(url: string, params?: Record): string; export declare function invokeAsyncMethod(obj: {}, method: string, args?: unknown[]): Promise; export interface AttemptOptions { retries: number; } export declare const script = ""; export type EvaluateArg = ExtractState | { select: Select[]; } | { transform: Transform[]; } | { sync: ExtractState; }; export type EvaluateResult = ExtractState; export type EvaluateFunction = (arg: EvaluateArg) => Promise;