import { z } from "zod"; import type { Host, OperatingSystem } from "../host/host.js"; /** Normalized to 0..1 with the origin at the top left, so `y` grows * downward. */ declare const boundingBoxSchema: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>; export type BoundingBox = z.infer; /** One line of recognized text. */ declare const textBlockSchema: z.ZodObject<{ text: z.ZodString; confidence: z.ZodNumber; box: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>; }, z.core.$strip>; export type TextBlock = z.infer; /** Runs osascript with the given argv and resolves with stdout. Injected * so the tests never spawn a process. */ export type OsascriptRunner = (args: string[]) => Promise; export declare const NOT_MACOS_MESSAGE: string; /** Parse the script's stdout into blocks. A partial or garbled print * fails the parse and never reaches Agency as data. */ export declare function parseBlocks(stdout: string): TextBlock[]; /** Backs `std::ocr.readTextBlocks` after its interrupt was approved. */ export declare function _recognizeTextLocalWith(host: Host, runner: OsascriptRunner, platform: OperatingSystem, approvedPath: string, language: string, fast: boolean): Promise; export declare function _recognizeTextLocal(approvedPath: string, language: string, fast: boolean): Promise; export {};