/// import type { PublicLitElement as LitElement } from "@arcgis/lumina"; import type { IFilterOption, ISearchOption, ISearchTerm, ISolutionInfoCard, ISortOption, ISortType, SortType } from "../../utils/interfaces.js"; import type { T9nMeta } from "@arcgis/lumina/controllers"; export abstract class SolutionsAllPanel extends LitElement { /** * Contains the translations for this component. * All UI strings should be defined here. * * @internal */ protected _translations: { allSolutionCards: string; fetchingSolutions: string; noSolutionsFound: string; changeSearchTerm: string; noSolutionsFoundShort: string; assistantHelp: string; askAssistant: string; disconnectedEnvironment: string; } & T9nMeta<{ allSolutionCards: string; fetchingSolutions: string; noSolutionsFound: string; changeSearchTerm: string; noSolutionsFoundShort: string; assistantHelp: string; askAssistant: string; disconnectedEnvironment: string; }>; /** * Define how the cards will be sorted * * @default 'relevance' */ accessor sortType: SortType; /** Returns displayed solution ids in the same order cards are currently rendered. */ getDisplayedSolutionIds(): string[]; /** * Search solutions based on key criteria * * @param searchOptions - the key criteria to search with */ searchSolutions(searchOptions?: IFilterOption[] | ISearchOption | ISortOption): Promise; /** * Set key properties for solution search * This is used for handeling multiple options from url params * * @param searchOptions - the key criteria that will be used when searched */ setSearchOptions(searchOptions?: IFilterOption | ISearchOption | ISortOption): Promise; /** Emitted on demand when all of the cards are first fetched */ readonly allCardsFetched: import("@arcgis/lumina").TargetedEvent; /** Emitted on demand when cards are fetched */ readonly cardsFetched: import("@arcgis/lumina").TargetedEvent; /** Emitted on demand when the details card is selected. */ readonly detailsCardSelected: import("@arcgis/lumina").TargetedEvent; /** Emitted on demand when the serachTerm is set from url param */ readonly searchTermSet: import("@arcgis/lumina").TargetedEvent; /** Emitted on demand when the sortType is set from url param */ readonly sortTypeSet: import("@arcgis/lumina").TargetedEvent; readonly "@eventTypes": { allCardsFetched: SolutionsAllPanel["allCardsFetched"]["detail"]; cardsFetched: SolutionsAllPanel["cardsFetched"]["detail"]; detailsCardSelected: SolutionsAllPanel["detailsCardSelected"]["detail"]; searchTermSet: SolutionsAllPanel["searchTermSet"]["detail"]; sortTypeSet: SolutionsAllPanel["sortTypeSet"]["detail"]; }; }