import type { BatchDocumentResult, AutoScriptApi, SignatureOperation, SignResult } from "./types.js"; declare global { interface Window { AutoScript?: AutoScriptApi; } } /** * Comprueba que un candidato sea la API de AutoScript y no cualquier otra cosa * que ocupe el mismo nombre global. * * `window.AutoScript` no requiere ejecutar JavaScript para existir: un elemento * con `id="AutoScript"` o `name="AutoScript"` lo define solo (DOM clobbering), * y los saneadores de HTML habituales permiten `id`. Comprobar únicamente que * el global sea *truthy* aceptaba ese elemento como si fuera la API: la firma * no fallaba al construir el cliente sino mucho después, con un `TypeError` * sin `code` al invocar una operación inexistente. * * `sign` es la única operación que AutoScript garantiza en todas sus versiones * —el resto son opcionales en `AutoScriptApi`—, así que es lo mínimo que puede * exigirse sin rechazar versiones legítimas. */ export declare function isAutoScriptApi(candidate: unknown): candidate is AutoScriptApi; /** * Indica si el objeto global oficial de AutoScript está disponible y tiene la * superficie mínima esperada. */ export declare function isAutoScriptAvailable(): boolean; /** * Resuelve la API inyectada o el objeto global oficial. */ export declare function resolveAutoScript(injected?: AutoScriptApi): AutoScriptApi; /** * Adapta una operación nativa basada en callbacks a una promesa. */ export declare function invokeSignatureOperation(operation: SignatureOperation, data: string, algorithm: string, format: string, parameters: string): Promise; /** Comprueba el contrato de JSONBatchManager y la correspondencia con el lote. */ export declare function readBatchResults(data: unknown, ids: ReadonlySet): readonly BatchDocumentResult[];