import { ReactiveController, TemplateResult } from "lit"; import { MultiOfferWrapperElement } from ".."; import { Customer } from "./model/customer"; import { Policy } from "./model/policy"; import { PolicyAttributes } from "./model/policy-attributes"; import { PackageToggleOfferElement } from "./package-toggle-offer-element"; import { ControllerStatus } from "./utils"; export type StatusRenderer = { pending?: () => TemplateResult; complete?: (value: unknown) => TemplateResult; error?: (e: Error | undefined) => TemplateResult; }; export declare class ProductController implements ReactiveController { host: MultiOfferWrapperElement | PackageToggleOfferElement; onChange: () => void; value?: Policy; status: ControllerStatus; error?: Error; policyAttributes?: T; customer?: Customer; constructor(host: MultiOfferWrapperElement | PackageToggleOfferElement, onChange: () => void); hostUpdated(): Promise; loadProduct(): Promise; render(renderer: StatusRenderer): TemplateResult | undefined; }