import { default as WJElement } from '../wje-element/element.js';
/**
* @summary This class represents a Breadcrumbs container, extending the WJElement class. It acts as a wrapper for individual breadcrumb elements and manages their behavior, such as collapsing and marking the last breadcrumb.
* @documentation https://elements.webjet.sk/components/breadcrumbs
* @status stable
* @augments WJElement
* @slot - The container for breadcrumb elements.
* @csspart container - The component's container wrapper.
* @attribute {number} max-items - The maximum number of visible breadcrumbs before collapsing.
* @attribute {number} items-before-collapse - The number of breadcrumbs to show before the collapsed indicator.
* @attribute {number} items-after-collapse - The number of breadcrumbs to show after the collapsed indicator.
* @tag wje-breadcrumbs
* @example
*
*
* Home
* About
* Services
* Portfolio
* Contact
*
*
*
*/
export default class Breadcrumbs extends WJElement {
static BREAKPOINTS: {
sm: number;
md: number;
lg: number;
xl: number;
'2xl': number;
xxl: number;
};
/**
* Get CSS stylesheet for the Breadcrumbs element.
* @static
* @returns {object} styles - The CSS styles
*/
static get cssStyleSheet(): object;
/**
* Get observed attributes for the Breadcrumb element.
* @static
* @returns {Array} - The observed attributes array for the Breadcrumb element.
*/
static get observedAttributes(): Array;
/**
* Last breadcrumb flag
* @type {boolean}
*/
last: boolean;
_isCollapsedByBreakpoint: boolean;
/**
* Set variant attribute for the Breadcrumbs element.
* @param value
*/
set variant(value: string);
/**
* Get variant attribute for the Breadcrumbs element.
* @returns {string}
*/
get variant(): string;
/**
* Get the collapsed indicator variant.
* @returns {string}
*/
get collapsedVariant(): string;
/**
* Sets the collapse breakpoint token or value.
* @param {string} value Breakpoint token or CSS size.
*/
set breakpoint(value: string);
/**
* Gets the collapse breakpoint token or value.
* @returns {string}
*/
get breakpoint(): string;
/**
* Get items before collapse attribute.
* @param {string} value
*/
set maxItems(value: string);
/**
* Get items before collapse attribute.
* @returns {number}
*/
get maxItems(): number;
/**
* Get items before collapse attribute.
* @param value
*/
set itemsBeforeCollapse(value: number);
/**
* Get items before collapse attribute.
* @returns {number}
*/
get itemsBeforeCollapse(): number;
/**
* Get items after collapse attribute.
* @param value
*/
set itemsAfterCollapse(value: number);
/**
* Get items after collapse attribute.
* @returns {number}
*/
get itemsAfterCollapse(): number;
/**
* Draw method for the Breadcrumbs element.
* @returns {object} fragment - The document fragment
*/
draw(): object;
defaultSlot: HTMLSlotElement;
/**
* Updates the breadcrumb elements after they are drawn on the page.
* It manages attributes on breadcrumb items and handles the logic for collapsing breadcrumbs
* if the total exceeds the specified maximum items.
* @returns {void} This method does not return a value.
*/
afterDraw(): void;
onSlotChange: () => void;
handleResize: () => void;
/**
* Reacts to viewport resize only when the breakpoint mode actually changes.
* @returns {void}
*/
handleBreakpointResize(): void;
/**
* Recalculates breadcrumb collapse state.
* @returns {void}
*/
updateCollapse(): void;
/**
* Clears attributes/classes managed by the collapse algorithm.
* @param {Array} breadcrumbs Breadcrumb items.
*/
resetCollapseState(breadcrumbs?: Array): void;
/**
* Applies a managed boolean attribute only when its value truly changes.
* @param {Element} element Breadcrumb item whose responsive state is being synchronized.
* @param {string} name Managed state flag that should be synchronized on the breadcrumb item.
* @param {boolean} isEnabled Whether the attribute should be present.
*/
syncManagedAttribute(element: Element, name: string, isEnabled: boolean): void;
/**
* Returns whether collapse rules should currently be applied.
* @returns {boolean}
*/
shouldApplyBreakpointCollapse(): boolean;
/**
* Resolves the configured breakpoint to a pixel width.
* @returns {number|null}
*/
getBreakpointWidth(): number | null;
/**
* Retrieves all breadcrumb elements within the current instance.
* @returns {Array} An array of breadcrumb elements (`wje-breadcrumb`) found within the instance. Returns an empty array if no breadcrumbs are found.
*/
getBreadcrumbs(): Array;
/**
* Retrieves all breadcrumb elements that have the 'collapsed' attribute.
* @returns {Array} An array of DOM elements representing breadcrumbs with the 'collapsed' attribute.
*/
getBreadcrumbsCollapsed(): Array;
}