import { type SignatureConfirmPayload } from '../signature-capture'; export interface SignDocumentProps { /** Opaque instance id — emitted as `data-component-id` for the agent registry. */ id?: string; /** Document PDF — URL string, ArrayBuffer, or Uint8Array. Passed to PDFViewer. */ src: string | ArrayBuffer | Uint8Array; /** Accessible name for the document region (also used as a heading). */ documentTitle?: string; /** * Gate the signature + Confirm until the reader reaches the last page. * Default `true`. Last-page-reached is an approximate read signal (a * fit-page zoom can show the last page without scrolling) — adequate for * this gate; legal-grade read tracking is the consumer's concern. */ requireReadToEnd?: boolean; /** Fired when the user captures a signature AND confirms. */ onSign?: (payload: SignatureConfirmPayload) => void; /** Forwarded from PDFViewer on any load / render error. */ onError?: (error: Error) => void; /** * When set, render the already-signed read-only state: shows "Signed" + * the signed date and hides the pad. Use for re-sign-on-change consumers * that surface signed status. `null` / `undefined` → unsigned. */ signedAt?: string | null; /** * Optional on-behalf attribution. When both `signer` and `subject` are * given, a "Signed by {signer} on behalf of {subject}" note renders both * near the signature pad (so the signer sees who they're signing for) AND * inside the already-signed read-only banner. Omit (the default) and * nothing extra renders — the existing subject-agnostic API is unchanged. * Provide both to opt in; a lone `signer` or `subject` renders nothing. */ signedByNote?: { signer: string; subject: string; }; /** Disable all controls (document still readable). */ disabled?: boolean; /** Render read-only: the document is shown but the pad is suppressed. */ readOnly?: boolean; /** Accessible label for the component's group region. */ ariaLabel?: string; /** Extra class names merged onto the outermost wrapper. */ className?: string; } /** Curated imperative handle for agent / external automation. */ export interface SignDocumentHandle { /** Clear the captured signature, returning to the unsigned state. */ reset: () => void; /** Confirm the current signature; resolves the payload, or null if unsigned. */ confirm: () => Promise; /** True when the reader has reached the last page (or the gate is off). */ isReadComplete: () => boolean; } declare const rootVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; export declare const SignDocument: import("react").ForwardRefExoticComponent>; export { rootVariants as signDocumentRootVariants }; //# sourceMappingURL=sign-document.d.ts.map