/**
 * Browser / edge entry point for @formepdf/core.
 *
 * Import as `@formepdf/core/browser` — no Node APIs, works in any
 * modern browser, edge runtime, or worker with WebAssembly support.
 *
 * Backed by the wasm-pack `--target bundler` build of pkg/, so the
 * WASM module is wired up implicitly by the consuming bundler at
 * module-load time (via `import * as wasm from './forme_bg.wasm'`
 * inside pkg/forme.js). Vite, esbuild, Webpack, Turbopack, and
 * Wrangler all handle this — there is no explicit init step.
 */
export type { Color, EdgeValues, CornerValues, ElementStyleInfo, ElementInfo, PageInfo, LayoutInfo, RenderWithLayoutResult, RenderDocumentOptions, RedactionRegion, RedactionPattern, } from './index.js';
import type { RenderWithLayoutResult, RenderDocumentOptions, RedactionRegion, RedactionPattern } from './index.js';
/** @deprecated No-op under the bundler-target build. For explicit
 *  instantiation in Workers/edge, import from `@formepdf/core/worker`. */
export declare function init(_module?: unknown): Promise<void>;
export declare function renderPdf(json: string): Promise<Uint8Array>;
export declare function renderPdfWithLayout(json: string): Promise<RenderWithLayoutResult>;
export declare function renderDocument(element: import('react').ReactElement, options?: RenderDocumentOptions): Promise<Uint8Array>;
export declare function renderDocumentWithLayout(element: import('react').ReactElement, options?: RenderDocumentOptions): Promise<RenderWithLayoutResult>;
/**
 * Render a pre-serialized document object (from `serialize()`) to PDF,
 * resolving any HTTP image/font URLs to data URIs first.
 *
 * Use this when you have a serialized doc (e.g. from a web worker that
 * calls `serialize()` directly) and need image resolution without going
 * through the React element–based `renderDocument()`.
 */
export declare function renderSerializedDoc(doc: Record<string, unknown>, options?: RenderDocumentOptions): Promise<Uint8Array>;
/**
 * Like `renderSerializedDoc` but also returns layout info for overlays.
 */
export declare function renderSerializedDocWithLayout(doc: Record<string, unknown>, options?: RenderDocumentOptions): Promise<RenderWithLayoutResult>;
export declare function renderTemplate(templateJson: string, dataJson: string): Promise<Uint8Array>;
export declare function renderTemplateWithLayout(templateJson: string, dataJson: string): Promise<RenderWithLayoutResult>;
export declare function certifyPdf(pdfBytes: Uint8Array, config: {
    certificatePem: string;
    privateKeyPem: string;
    reason?: string;
    location?: string;
    contact?: string;
    visible?: boolean;
    page?: number;
    x?: number;
    y?: number;
    width?: number;
    height?: number;
}): Promise<Uint8Array>;
/** @deprecated Use certifyPdf */
export declare const signPdf: typeof certifyPdf;
export declare function redactPdf(pdfBytes: Uint8Array, regions: RedactionRegion[]): Promise<Uint8Array>;
/**
 * Find text regions matching patterns in a PDF.
 *
 * Searches PDF content streams for literal or regex patterns and returns
 * redaction regions (in web top-origin coordinates) for each match.
 */
export declare function findTextRegions(pdfBytes: Uint8Array, patterns: RedactionPattern[]): Promise<RedactionRegion[]>;
/**
 * Redact text matching patterns from a PDF.
 *
 * Convenience wrapper: finds all text matching the patterns, then
 * applies coordinate-based redaction to each match.
 */
export declare function redactText(pdfBytes: Uint8Array, patterns: RedactionPattern[]): Promise<Uint8Array>;
/**
 * Merge multiple PDF documents into a single PDF.
 *
 * @param pdfs - Array of PDF byte arrays to merge in order.
 * @returns The merged PDF as a Uint8Array.
 */
export declare function mergePdfs(pdfs: Uint8Array[]): Promise<Uint8Array>;
/** Extract embedded JSON data from a Forme-generated PDF. */
export declare function extractData(pdfBytes: Uint8Array): Promise<unknown | null>;
