import * as react_jsx_runtime from 'react/jsx-runtime'; import * as React from 'react'; /** Ink colours for the printed page - deliberately not theme-reactive. */ declare const STATEMENT_INK = "text-[#040d13]"; declare const STATEMENT_INK_MUTED = "text-[#686e71]"; declare const STATEMENT_RULE = "border-[#e0e0e0]"; declare const STATEMENT_RULE_LIGHT = "border-[#f0f0f0]"; interface StatementPageProps { children: React.ReactNode; /** * Render at A4 aspect ratio (210:297). Off by default so a long ledger can * grow past one page in Storybook instead of clipping. */ fixedHeight?: boolean; className?: string; } /** White A4-proportioned paper the statement is laid out on. */ declare function StatementPage({ children, fixedHeight, className, }: StatementPageProps): react_jsx_runtime.JSX.Element; interface StatementDocumentHeaderProps { /** Eyebrow above the title, e.g. "Open Banking". */ overline?: string; /** Document title, e.g. "Account statement". */ title?: string; institutionName?: string; /** Institution logo URL - shown beside the institution name. */ institutionLogo?: string; /** Tenant / company logo URL - shown top-right. White-label slot. */ companyLogo?: string; companyName?: string; /** CDR accreditation line, e.g. "Under CDR principal: ADRBNK000208". */ cdrLine?: string; className?: string; } /** Document title + institution left, tenant branding + CDR line right. */ declare function StatementDocumentHeader({ overline, title, institutionName, institutionLogo, companyLogo, companyName, cdrLine, className, }: StatementDocumentHeaderProps): react_jsx_runtime.JSX.Element; interface StatementHolderBusinessFields { legalName?: string; agentName?: string; abn?: string; } interface StatementHolderBlockProps { holderName?: string; /** Multi-line postal address. */ address?: string; /** Legal name / agent name / ABN rows for business accounts. */ business?: StatementHolderBusinessFields; className?: string; } /** Who the statement is addressed to. */ declare function StatementHolderBlock({ holderName, address, business, className, }: StatementHolderBlockProps): react_jsx_runtime.JSX.Element; interface StatementPageFooterProps { /** Left-hand reference line, e.g. "Jordan Whitfield - Everyday Access 5678". */ reference?: string; /** ISO date the statement was generated. */ generatedOn?: string; /** Right-hand page label. */ pageLabel?: string; className?: string; } /** Ruled page footer - reference and generated-on left, page number right. */ declare function StatementPageFooter({ reference, generatedOn, pageLabel, className, }: StatementPageFooterProps): react_jsx_runtime.JSX.Element; interface StatementLinkProps { href: string; children: React.ReactNode; className?: string; } /** * A link on printed paper: underlined in the document's own ink rather than a * theme colour, so it survives being printed in black and white while still * resolving when the PDF is read on screen. */ declare function StatementLink({ href, children, className }: StatementLinkProps): react_jsx_runtime.JSX.Element; interface StatementComplianceParty { name?: string; abn?: string; } interface StatementComplianceInfo { /** Pre-formatted date and time the data was current, e.g. "01 Aug 2026, 09:12". */ dataCurrentAsAt?: string; consentProvidedBy?: string; dataHolder?: StatementComplianceParty; dataRecipient?: StatementComplianceParty; serviceProvider?: StatementComplianceParty; verificationReference?: string; /** Accreditation line, e.g. "Produced by ... CDR accreditation ADRBNK000208". */ producedByLine?: string; /** * Public page where a recipient checks the verification reference, printed * without a scheme so it stays readable on paper (e.g. "wealthx.au/verify"). */ verifyUrl?: string; /** * Scannable code for `verifyUrl` plus the reference. Supplied by the * consumer so the design system carries no QR dependency, matching the * `qrCodeNode` slot on `TwoFASetupForm`. */ verifyQrNode?: React.ReactNode; /** Issuer's website, printed without a scheme (e.g. "wealthx.au"). */ websiteUrl?: string; } interface StatementComplianceFooterProps extends StatementComplianceInfo { className?: string; } /** The Consumer Data Right provenance block printed at the foot of a statement. */ declare function StatementComplianceFooter({ dataCurrentAsAt, consentProvidedBy, dataHolder, dataRecipient, serviceProvider, verificationReference, producedByLine, verifyUrl, verifyQrNode, websiteUrl, className, }: StatementComplianceFooterProps): react_jsx_runtime.JSX.Element; interface StatementFieldProps { label: string; /** Falsy values render as "Not available" so the row keeps its rhythm. */ value?: React.ReactNode; /** Emphasise the value - used for balances the reader is looking for. */ emphasis?: boolean; className?: string; } /** One label-left / value-right row inside a statement field group. */ declare function StatementField({ label, value, emphasis, className, }: StatementFieldProps): react_jsx_runtime.JSX.Element; interface StatementFieldGroupProps { /** Optional heading above the grid. */ title?: string; children: React.ReactNode; /** One column instead of two - used inside the two-column page sections. */ singleColumn?: boolean; className?: string; } /** Titled grid of `StatementField` rows. */ declare function StatementFieldGroup({ title, children, singleColumn, className, }: StatementFieldGroupProps): react_jsx_runtime.JSX.Element; export { STATEMENT_INK, STATEMENT_INK_MUTED, STATEMENT_RULE, STATEMENT_RULE_LIGHT, StatementComplianceFooter, type StatementComplianceFooterProps, type StatementComplianceInfo, type StatementComplianceParty, StatementDocumentHeader, type StatementDocumentHeaderProps, StatementField, StatementFieldGroup, type StatementFieldGroupProps, type StatementFieldProps, StatementHolderBlock, type StatementHolderBlockProps, type StatementHolderBusinessFields, StatementLink, type StatementLinkProps, StatementPage, StatementPageFooter, type StatementPageFooterProps, type StatementPageProps };