/** * @license * Copyright 2023 Nuraly, Laabidi Aymen * SPDX-License-Identifier: MIT */ import { LitElement } from 'lit'; import { CollapseSection, CollapseSize, CollapseVariant, CollapseAnimation } from './collapse.type.js'; declare const HyCollapse_base: (new (...args: any[]) => import("@nuralyui/common/mixins").DependencyAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").ThemeAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").EventHandlerCapable) & (new (...args: any[]) => import("packages/common/src/shared/base-mixin.js").LightDomContent) & typeof LitElement; /** * Versatile collapse/accordion component with multiple variants, animations, and accessibility features. * * @example * ```html * * ``` * * @element nr-collapse * @fires section-toggle - Fired when a section is toggled * @fires section-before-toggle - Fired before a section is toggled (cancellable) * * @csspart container - The outermost collapse container div * @csspart item - An individual collapse section wrapper * @csspart item-header - The header/trigger element of a collapse section * @csspart item-content - The collapsible content area of a section */ export declare class HyCollapse extends HyCollapse_base { static useShadowDom: boolean; static styles: import("lit").CSSResult; requiredComponents: string[]; private animationController; private accordionController; sections: CollapseSection[]; size: CollapseSize; variant: CollapseVariant; animation: CollapseAnimation; accordion: boolean; allowMultiple: boolean; disabled: boolean; expandIcon: string; collapseIcon: string; connectedCallback(): void; disconnectedCallback(): void; updated(changedProperties: Map): void; /** * Toggle a section by index */ toggleSection(index: number): Promise; /** * Open a specific section */ openSection(index: number): Promise; /** * Close a specific section */ closeSection(index: number): Promise; /** * Open all sections (respects accordion mode) */ openAllSections(): void; /** * Close all sections */ closeAllSections(): void; /** * Update a specific section (used by controllers and internal logic) */ updateSection(index: number, updates: Partial): void; /** * Update multiple sections at once (used by controllers for batch operations) */ updateSections(updates: Array<{ index: number; updates: Partial; }>): void; /** * Handle toggle request from keyboard controller */ private handleToggleRequest; /** * Get icon for section state */ private getSectionIcon; /** * Check if section is animating */ private isSectionAnimating; render(): import("lit-html").TemplateResult<1>; /** * Render individual section */ private renderSection; } export {}; //# sourceMappingURL=collapse.component.d.ts.map