/// <reference path="../../index.d.ts" />
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
import type { IFilterOption, ISearchOption, ISortOption } from "../../utils/interfaces.js";
import type { T9nMeta } from "@arcgis/lumina/controllers";

export abstract class SolutionsAllShell extends LitElement {
  /**
   * Contains the translations for this component.
   * All UI strings should be defined here.
   *
   * @internal
   */
  protected _translations: {
      aiAssistantResults: string;
      appliedFilters: string;
      clearIndustryFilter: string;
      chooseSortType: string;
      numberOfSolutions: string;
      sortByRelevance: string;
      sortByTitle: string;
      sortByNew: string;
      sortByUpdated: string;
      sortBySuggestedForYou: string;
  } & T9nMeta<{
      aiAssistantResults: string;
      appliedFilters: string;
      clearIndustryFilter: string;
      chooseSortType: string;
      numberOfSolutions: string;
      sortByRelevance: string;
      sortByTitle: string;
      sortByNew: string;
      sortByUpdated: string;
      sortBySuggestedForYou: string;
  }>;
  /**
   * The number of solution cards currently displayed
   *
   * @default 0
   */
  accessor solutionsCount: number;
  /**
   * Search solutions based on key criteria
   *
   * @param searchOptions - the key criteria to search with
   */
  searchSolutions(searchOptions: IFilterOption | ISearchOption | ISortOption): Promise<void>;
  /** Emitted on demand when a filter chip is closed */
  readonly filterRemoved: import("@arcgis/lumina").TargetedEvent<this, IFilterOption[]>;
  readonly "@eventTypes": {
    filterRemoved: SolutionsAllShell["filterRemoved"]["detail"];
  };
}