import { type LayoutStash } from "../../../store/tabs/layout/layoutState.js"; import { type ExtendedDashboardItem, type InternalDashboardItemDefinition, type StashedDashboardItemsId } from "../../../types/layoutTypes.js"; export interface IItemResolutionResult { /** * Existing layout stashes that were used by the item definitions. */ existing: StashedDashboardItemsId[]; /** * Missing layout stashes that were incorrectly used by the item definitions. */ missing: StashedDashboardItemsId[]; /** * All resolved items in the order they were encountered. This includes both the actual items that were * included among the item definitions and items retrieved from stashes. * * This is the array that contains all items to use in the further processing. */ resolved: ExtendedDashboardItem[]; /** * A bitmap of the same cardinality as the `resolved` array; for each item in the resolved array, this * bitmap contains indicator whether the item is new or was retrieved from stash. * * This bitmap is essential for handlers that need to perform additional processing for newly added items * but can ignore (or do slightly different processing) for items that were already on the dashboard * but were stashed. */ newItemBitmap: boolean[]; } /** * Given layout stash and a list of dashboard item definitions, this function will validate and resolve those * item definitions into actual dashboard items that can be added onto the layout. * * The dashboard item definitions provided as input in the commands may contain mix of actual dashboard items * and identifiers of stashes that contain the actual items. This function resolves any stashes that may be * included on the input into the actual items and returns them so that the rest of the code does not have * to care about the stashes anymore. * * @param stash - current state of the layout stash * @param itemDefinitions - item definitions */ export declare function validateAndResolveStashedItems(stash: LayoutStash, itemDefinitions: ReadonlyArray): IItemResolutionResult; //# sourceMappingURL=stashValidation.d.ts.map