///
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"];
};
}