import * as react_jsx_runtime from 'react/jsx-runtime'; import { ReactNode } from 'react'; import { UseSchedulingAdminResult } from '../../../hooks/useSchedulingAdmin.js'; import { SchedulingService } from '../../../types/scheduling.js'; interface SchedulingServicesTableProps { admin: UseSchedulingAdminResult; className?: string; rowClassName?: string; inputClassName?: string; buttonClassName?: string; /** Currency code for price formatting. Defaults to 'USD'. */ currency?: string; /** Called after a successful create (e.g. to refresh another panel). */ onCreated?: (service: SchedulingService) => void; /** Render override for an individual row. */ renderRow?: (service: SchedulingService, actions: { update: (patch: Partial) => Promise; remove: () => Promise; }) => ReactNode; /** Default add-row label text. */ addLabel?: ReactNode; } /** * Parse a dollar amount the user typed into integer cents. Empty / garbage * input falls through to 0 — never NaN. Tolerates a leading "$", * thousand-separator commas, trailing whitespace. * * Exported so consumers using a custom `renderRow` can reuse the same * conversion in their own price input (the default renderer uses it for * both the new-service form and the existing-row inline edit). * * dollarsStringToCents("30") → 3000 * dollarsStringToCents("29.99") → 2999 * dollarsStringToCents("$1,200.50") → 120050 * dollarsStringToCents("") → 0 * dollarsStringToCents("abc") → 0 */ declare function dollarsStringToCents(value: string): number; /** * Inverse of dollarsStringToCents — render an integer cent amount as a * dollars string suitable for ``. Returns "" for null / * zero / negative so the price input shows its placeholder when there's * nothing meaningful to display. * * centsToDollarsString(3000) → "30" * centsToDollarsString(2999) → "29.99" * centsToDollarsString(0) → "" * centsToDollarsString(null) → "" */ declare function centsToDollarsString(cents: number | null | undefined): string; declare function SchedulingServicesTable({ admin, className, rowClassName, inputClassName, buttonClassName, currency, onCreated, renderRow, addLabel, }: SchedulingServicesTableProps): react_jsx_runtime.JSX.Element; export { SchedulingServicesTable, type SchedulingServicesTableProps, centsToDollarsString, dollarsStringToCents };