/**
* @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