///
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
import type { IDeployCard, ISolutionInfoCard, ITemplateInfo } from "../../utils/interfaces.js";
import type { ITemplateInfoGraph } from "../solution-item-diagram/utils/solutionGraph.js";
import type { SolutionDeleteDialog } from "../solution-delete-dialog/customElement.js";
import type { T9nMeta } from "@arcgis/lumina/controllers";
import type { Dialog as Dialog } from "@esri/calcite-components/components/calcite-dialog";
export abstract class SolutionDeployedCard extends LitElement {
/**
* Contains the translations for this component.
* All UI strings should be defined here.
*
* @internal
*/
protected _translations: {
builtWithAI: string;
openSolution: string;
deleteSolution: string;
deployedDate: string;
diagramTitle: string;
documentation: string;
moreActions: string;
mustOwnSolution: string;
owner: string;
updateAvailable: string;
viewDiagram: string;
renameItems: string;
viewItemDetails: string;
} & T9nMeta<{
builtWithAI: string;
openSolution: string;
deleteSolution: string;
deployedDate: string;
diagramTitle: string;
documentation: string;
moreActions: string;
mustOwnSolution: string;
owner: string;
updateAvailable: string;
viewDiagram: string;
renameItems: string;
viewItemDetails: string;
}>;
/** Key details about the solution */
accessor card: ISolutionInfoCard | undefined;
/** @default '' */
accessor deployedDate: string;
/** @default '' */
accessor description: string;
/**
* Digram license key to use view the diagram
*
* @default ''
*/
accessor diagramKey: string;
/** @default '' */
accessor heading: string;
/** @default '' */
accessor itemId: string;
/** @default '' */
accessor owner: string;
/** ITemplateInfo[]: Collection of template infos */
accessor templateInfos: ITemplateInfo[];
/** @default '' */
accessor thumbnail: string;
/** @default false */
accessor updateAvailable: boolean;
/** Get the templates from the current card */
getTemplates(): Promise;
/**
* Show the delete dialog
* This allows other components to leverage the logic that is built into this card.
* It will return a reference to the dialog so the other component can respond to its events.
*/
renderDeleteDialog(): Promise;
/**
* Show the diagram dialog
* This allows other components to leverage the logic that is built into this card.
* It will return a reference to the dialog so the other component can respond to its events.
*
* @param evt
*/
renderDiagramDialog(evt: MouseEvent): Promise