///
import type { ISolutionItemHover, ISolutionItemSelected, ISolutionTypeHover, ITemplateInfo } from "../../utils/interfaces.js";
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
import type { DependencyItem } from "../../utils/getRelatedInfos.js";
import type { T9nMeta } from "@arcgis/lumina/controllers";
export abstract class SolutionItemAccordion extends LitElement {
/**
* Contains the translations for this component.
* All UI strings should be defined here.
*
* @internal
*/
protected _translations: {
usedInOtherSolutionsDeleteWarning: string;
noPrivilegeToManage: string;
openDetails: string;
solutionsTemplates: string;
usedInAnotherSolution: string;
itemUsedInOtherSolutions: string;
} & T9nMeta<{
usedInOtherSolutionsDeleteWarning: string;
noPrivilegeToManage: string;
openDetails: string;
solutionsTemplates: string;
usedInAnotherSolution: string;
itemUsedInOtherSolutions: string;
}>;
/** DependencyItem[]: List of items that have relationship dependencies outside of this solution */
accessor itemRelationshipDependencies: DependencyItem[];
/**
* 'action' | 'item': Specifies the type of link that will be used for deployed items.
* 'item' the items title will be underlined and clicking anywhere on the list item will open the items details page
* 'action' a action will be added to the end of the list item that will open the items details page
*
* @default 'item'
*/
accessor linkType: "action" | "item";
/**
* Specifies the selection mode of the item-type lists used in the component, where:
* 'multiple' allows any number of selections,
* 'single' allows only one selection,
* 'single-persist' allows one selection and prevents de-selection, and
* 'none' does not allow any selections (default)
*
* @default 'none'
*/
accessor listSelectionMode: "multiple" | "single" | "single-persist" | "none";
/**
* string: The warning message to display when we have itemRelationshipDependencies
*
* @default ''
*/
accessor reuseWarning: string;
/** ITemplateInfo[]: Collection of template infos */
accessor templateInfos: ITemplateInfo[];
/** string[]: Collection of the solutions typeKeywords */
accessor typeKeywords: string[];
/** @default 'content' */
accessor usageContext: "content" | "rename" | "delete";
/** Collapses all items in the accordion. */
collapseAll(): Promise;
/**
* Deselects all items in the accordion.
* Only applies when selectionMode is 'single' or 'single-persist'.
*
* @param collapseAccordion - Whether to also collapse the accordion items after deselecting
*/
deselectAll(collapseAccordion?: boolean): Promise;
/** Expands the first accordion item */
expandFirstItem(): Promise;
/**
* Expands the accordion item containing for the provided id
* Only applies when selectionMode is 'single' or 'single-persist'.
*
* @param id - the id of the item to select
*/
expandItemById(id: string): Promise;
/**
* Expands items in the accordion.
* Only applies when selectionMode is 'multiple'.
*
* @param ids - the id of the item to select
*/
expandItems(ids: string[]): Promise;
/** Selects the first item in the accordion and expands the accordion item containing it. */
selectFirstItem(): Promise;
/**
* Selects an item in the accordion and expands the accordion item containing it.
* Only applies when selectionMode is 'single' or 'single-persist'.
*
* @param id - the id of the item to select
*/
selectItem(id: string): Promise;
/**
* Selects items in the accordion and expands the accordion item containing it.
* Only applies when selectionMode is 'multiple'.
*
* @param ids - the id of the item to select
*/
selectItems(ids: string[]): Promise;
readonly solutionItemHover: import("@arcgis/lumina").TargetedEvent;
readonly solutionItemSelect: import("@arcgis/lumina").TargetedEvent;
readonly solutionTypeHover: import("@arcgis/lumina").TargetedEvent;
readonly "@eventTypes": {
solutionItemHover: SolutionItemAccordion["solutionItemHover"]["detail"];
solutionItemSelect: SolutionItemAccordion["solutionItemSelect"]["detail"];
solutionTypeHover: SolutionItemAccordion["solutionTypeHover"]["detail"];
};
}