import { type ReactNode } from "react"; import type { InvoiceAttachmentRecord, InvoiceRecord, LineItemRecord } from "../index.js"; import { type InvoiceNoteDialogProps } from "./invoice-detail-page/notes-dialogs.js"; export interface InvoiceDetailPageSlots { afterHeader?: ReactNode; integrationsContent?: InvoiceDetailIntegrationContent; afterSummary?: ReactNode; lineItemsContent?: ReactNode; afterLineItems?: ReactNode; paymentsContent?: ReactNode; afterPayments?: ReactNode; creditNotesContent?: ReactNode; afterCreditNotes?: ReactNode; attachmentsContent?: ReactNode; afterAttachments?: ReactNode; notesContent?: ReactNode; afterNotes?: ReactNode; dialogs?: ReactNode; } export interface InvoiceDetailIntegrationSlotContext { invoice: InvoiceRecord; } export type InvoiceDetailIntegrationContent = ReactNode | ((context: InvoiceDetailIntegrationSlotContext) => ReactNode); export interface InvoiceDetailPageProps { id: string; className?: string; onBack?: () => void; onDeleted?: () => void; onBookingOpen?: (bookingId: string, invoice: InvoiceRecord) => void; onPersonOpen?: (personId: string, invoice: InvoiceRecord) => void; onOrganizationOpen?: (organizationId: string, invoice: InvoiceRecord) => void; onLineItemCreate?: (invoice: InvoiceRecord) => void; onLineItemEdit?: (lineItem: LineItemRecord, invoice: InvoiceRecord) => void; onPaymentCreate?: (invoice: InvoiceRecord) => void; onConverted?: (invoice: InvoiceRecord, source: InvoiceRecord) => void; onCreditNoteCreate?: (invoice: InvoiceRecord) => void; getAttachmentDownloadHref?: (attachment: InvoiceAttachmentRecord) => string | undefined; renderInvoiceNoteDialog?: (props: InvoiceNoteDialogProps) => ReactNode; slots?: InvoiceDetailPageSlots; } export declare function InvoiceDetailPage({ id, className, onBack, onDeleted, onBookingOpen, onPersonOpen, onOrganizationOpen, onLineItemCreate, onLineItemEdit, onPaymentCreate, onConverted, onCreditNoteCreate, getAttachmentDownloadHref, renderInvoiceNoteDialog, slots, }: InvoiceDetailPageProps): import("react").JSX.Element; export { InvoiceAttachmentsCard, type InvoiceAttachmentsCardProps, InvoiceCreditNotesCard, type InvoiceCreditNotesCardProps, type InvoiceDetailCardProps, InvoiceLineItemsCard, type InvoiceLineItemsCardProps, InvoiceLinksCard, type InvoiceLinksCardProps, InvoicePaymentsCard, type InvoicePaymentsCardProps, InvoiceSummaryCard, } from "./invoice-detail-page/cards.js"; export { InvoiceDetailHeader, type InvoiceDetailHeaderProps } from "./invoice-detail-page/header.js"; export { InvoiceNoteDialog, type InvoiceNoteDialogProps, InvoiceNotesCard, type InvoiceNotesCardProps, } from "./invoice-detail-page/notes-dialogs.js"; export { creditNoteStatusVariant, DetailLink, type DetailLinkProps, DetailRow, type DetailRowProps, EmptyRow, type EmptyRowProps, formatPaymentMethod, InvoiceDetailLoading, InvoiceDetailState, InvoiceSection, type InvoiceSectionProps, invoiceStatusVariant, invoiceTypeVariant, LoadingRow, Money, type MoneyProps, paymentStatusVariant, } from "./invoice-detail-page/primitives.js";