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

export abstract class SolutionDeployedCardPanel extends LitElement {
  /**
   * Contains the translations for this component.
   * All UI strings should be defined here.
   *
   * @internal
   */
  protected _translations: {
      aboutYourSolutionDeployedDate: string;
      aboutYourSolutionOwner: string;
      builtWithAI: string;
      deleteSolution: string;
      deploySuccessAlert: string;
      diagramOfTheSolution: string;
      editSolutionOwner: string;
      itemDetails: string;
      itemUsedInOtherSolutions: string;
      loadingText: string;
      mustOwnSolution: string;
      viewTheDiagram: string;
      learnMoreNewVersion: string;
      openDetails: string;
      showMoreSummary: string;
      solutionsContentsAndCount: string;
      solutionDocumentation: string;
      updateTitles: string;
      solutionVersion: string;
      newVersionAvailable: string;
      youHaveTheLatestVersion: string;
      folder: string;
      openFolder: string;
  } & T9nMeta<{
      aboutYourSolutionDeployedDate: string;
      aboutYourSolutionOwner: string;
      builtWithAI: string;
      deleteSolution: string;
      deploySuccessAlert: string;
      diagramOfTheSolution: string;
      editSolutionOwner: string;
      itemDetails: string;
      itemUsedInOtherSolutions: string;
      loadingText: string;
      mustOwnSolution: string;
      viewTheDiagram: string;
      learnMoreNewVersion: string;
      openDetails: string;
      showMoreSummary: string;
      solutionsContentsAndCount: string;
      solutionDocumentation: string;
      updateTitles: string;
      solutionVersion: string;
      newVersionAvailable: string;
      youHaveTheLatestVersion: string;
      folder: string;
      openFolder: string;
  }>;
  /** Key details about the solution */
  accessor card: ISolutionInfoCard | undefined;
  /** Reference to the card that opened this dialog */
  accessor cardRef: any | undefined;
  /**
   * Digram license key to use view the diagram
   *
   * @default ''
   */
  accessor diagramKey: string;
  /**
   * boolean: when true the dialog is open
   *
   * @default false
   */
  accessor open: boolean;
  /**
   * The localized read-only notice message to display when the connected portal
   * is in read-only mode.
   *
   * @default ''
   */
  accessor readOnlyNotice: string;
  /** ITemplateInfo[]: Collection of template infos */
  accessor templateInfos: ITemplateInfo[];
  /** Force tab selection, used to navigate to newer version of solution from a deployed solution */
  readonly forceSelectTab: import("@arcgis/lumina").TargetedEvent<this, IActiveTab>;
  /** Tab selected event */
  readonly navTabSelected: import("@arcgis/lumina").TargetedEvent<this, INavTab>;
  /**
   * This event will be emitted when this dialog is closed.
   * When the emitted value is true the solution has been updated and needs to be fetched again
   */
  readonly solutionConfigureDialogClose: import("@arcgis/lumina").TargetedEvent<this, boolean>;
  /** Emitted on demand when the sort type changes */
  readonly sortTypeChanged: import("@arcgis/lumina").TargetedEvent<this, string>;
  readonly "@eventTypes": {
    forceSelectTab: SolutionDeployedCardPanel["forceSelectTab"]["detail"];
    navTabSelected: SolutionDeployedCardPanel["navTabSelected"]["detail"];
    solutionConfigureDialogClose: SolutionDeployedCardPanel["solutionConfigureDialogClose"]["detail"];
    sortTypeChanged: SolutionDeployedCardPanel["sortTypeChanged"]["detail"];
  };
}