import Scope from './Scope.js'; import type { ItemType, ItemTypeMap } from './ItemType.js'; import type { ScopeType } from './ScopeType.js'; type ScopeArg = Scope | ScopeType[]; type StrictItemOptions = { type: T; value: ItemTypeMap[T]; scope?: ScopeArg; comment?: string[]; }; export type ItemOptions = { [K in ItemType]: StrictItemOptions; }[ItemType]; declare class Item { comment?: string[]; scope: Scope; type: ItemType; value: string; constructor(options: ItemOptions | Item); clone(): Item; is(expectedType: T, expectedValue?: ItemTypeMap[T]): boolean; } export default Item;