import * as react_jsx_runtime from 'react/jsx-runtime'; /** * PropertyReportDialog — WealthX DS (L4 Template) * * Dialog for generating a property valuation report from the scenario's * linked properties. Opened from the Bank Statement tab of * `OpportunityDetailsDrawer` when the user selects "Property Report" and * clicks "Generate". * * Internal state: * - Report name (Input) * - Manually added properties (via AddressAutocomplete + Add button) * - Selected property IDs (Table with Checkboxes) * * Data handed in via props (consumer owns fetching): * - `properties` — pre-loaded properties from the scenario (API list) * - `isLoadingProperties` — spinner while fetching * - `searchResults` — address search results driven by `onSearchQueryChange` * * Layer: L4 Template */ interface PropertyItem { id: string; address?: string; propertyType?: string; /** Estimated value in dollars. */ estimateValue?: number; } interface PropertySearchResult { /** Unique property identifier returned by the address search service. */ id: string; /** Full address string shown in the dropdown. */ address: string; } interface PropertyReportPayload { reportName: string; selectedPropertyIds: string[]; } interface PropertyReportDialogProps { open: boolean; onClose: () => void; /** * Called when the user clicks Generate (only when form is valid). * Consumer is responsible for the actual API call. */ onSubmit: (payload: PropertyReportPayload) => void; /** Pre-loaded properties from the scenario's loan data. */ properties: PropertyItem[]; /** Provide `true` while the consumer is fetching the scenario's properties. */ isLoadingProperties?: boolean; /** * Address search results for the autocomplete dropdown. * Consumer debounces and fetches when `onSearchQueryChange` fires. */ searchResults?: PropertySearchResult[]; /** * Called when the user types in the address search input (debounce externally). * Pass an empty string when the query is cleared. */ onSearchQueryChange?: (query: string) => void; /** Show a loading indicator on the Generate button while the API call is in flight. */ isLoading?: boolean; className?: string; } declare function PropertyReportDialog({ open, onClose, onSubmit, properties, isLoadingProperties, searchResults, onSearchQueryChange, isLoading, className, }: PropertyReportDialogProps): react_jsx_runtime.JSX.Element; export { type PropertyItem, PropertyReportDialog, type PropertyReportDialogProps, type PropertyReportPayload, type PropertySearchResult };