export type IdsSubTabItemData = { id?: string; comment?: string; disabled?: boolean; icon?: string; selected?: boolean; shortcutKeys?: string; submenu?: IdsSubTabData; text: string; type: 'item'; value?: string | null; }; export type IdsSubTabHeaderData = { for?: string; text: string; type: 'header'; }; export type IdsSubTabSeparatorData = { type: 'separator'; }; export type IdsSubTabContentsData = Array; export type IdsSubTabGroupData = { id?: string; items: Array; select?: 'none' | 'single' | 'multiple'; type?: 'group'; }; export type IdsSubTabObjectData = { id?: string; contents?: IdsSubTabContentsData; length?: number; }; export type IdsSubTabData = IdsSubTabObjectData | IdsSubTabContentsData; declare const SUB_TABS_SELECT_TYPES: string[]; declare const SUB_TABS_DEFAULTS: any; /** * Determines if a menu item's stored value can safely be described by its attribute inside the DOM. * @param {any} value the value to be checked * @returns {boolean} true if the value can be "stringified" safely for the DOM attribute */ declare function safeForAttribute(value: any): boolean; /** * @private * @param {string|HTMLElement} subTabGroup the group to search for * @param {HTMLElement} idsSubTab the parent menu element * @returns {HTMLElement|undefined} if valid, a reference to the menu group. * Otherwise, returns undefined. */ declare function isValidGroup(subTabGroup: any, idsSubTab: any): undefined; /** * @private * @param {HTMLElement} item the element to be checked * @param {HTMLElement} IdsSubTab the parent menu element * @returns {boolean} true if the provided element is a "currently-usable" IdsSubTabItem type. */ declare function isUsableItem(item: any, IdsSubTab: any): any; export { SUB_TABS_SELECT_TYPES, SUB_TABS_DEFAULTS, safeForAttribute, isValidGroup, isUsableItem };