import { type VariantProps } from 'class-variance-authority'; export type DocumentPreviewSignatureStatus = 'none' | 'pending' | 'signed'; /** Which render branch DocumentPreview is showing — structural, never PHI. */ export type DocumentPreviewKind = 'pdf' | 'image' | 'metadata' | 'empty'; export interface DocumentPreviewMetadata { /** Size in bytes. */ size?: number; /** Display name of whoever created the document (host-supplied). */ createdBy?: string; /** ISO 8601 timestamp the document was created. */ createdAt?: string; /** ISO 8601 timestamp of the last modification. */ updatedAt?: string; /** ISO 8601 timestamp a signature was requested from the patient. */ signatureRequestedAt?: string; /** ISO 8601 timestamp the document was signed. */ signedAt?: string; /** ISO 8601 timestamp the document was shared with the patient. */ sharedAt?: string; /** Open document-type category (non-identifying), e.g. `'xray'`. */ documentType?: string; /** Signature workflow state. */ signatureStatus?: DocumentPreviewSignatureStatus; /** Clinical-document flag (host-defined semantics). */ clinical?: boolean; /** ISO 8601 expiry (e.g. identification documents). */ expiresAt?: string; } /** * A single previewable document. In multi-document mode each becomes a tab; * `id` is the tab value (never a patient name) and `name` is the tab label. */ export interface DocumentPreviewDocument { /** Stable, non-identifying id. Emitted as the tab value — never PHI. */ id: string; /** Display name (PHI). Also the tab label in multi-document mode. */ name: string; /** MIME type — drives the render branch and the fallback icon. */ mimeType?: string; /** Resolved URL / data URI for the PDF or image viewer. */ src?: string; /** Structural metadata rendered by the metadata-card branch. */ metadata?: DocumentPreviewMetadata; } export interface DocumentPreviewProps extends VariantProps { /** Opaque instance id — emitted as `data-component-id` for the agent registry. */ id?: string; /** Display name. Absent (and no `documents`) → empty state. PHI. */ name?: string; /** MIME type — drives the render branch and the fallback icon. */ mimeType?: string; /** Resolved URL / data URI for the PDF or image viewer. The host owns auth. */ src?: string; /** Structural metadata rendered by the metadata-card branch. */ metadata?: DocumentPreviewMetadata; /** * Multiple documents to preview as tabs — e.g. a multi-row selection. Two * or more render a tab per document (label = name) with the active one * shown below; a single entry renders without a tab strip. When non-empty * this takes precedence over the single-document props. Names are PHI. */ documents?: DocumentPreviewDocument[]; className?: string; } export interface DocumentPreviewHandle { /** Which render branch is active — structural, safe for always-on reads. */ getKind: () => DocumentPreviewKind; /** The active document's display name (PHI). Surfaced by the adapter as a `phi` action. */ getName: () => string | undefined; } declare const documentPreviewVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; export declare const DocumentPreview: import("react").ForwardRefExoticComponent>; export {}; //# sourceMappingURL=document-preview.d.ts.map