import { LitElement, PropertyValues } from 'lit'; import '../Icon/Icon'; /** * CTT Accordion Web Component * * An expandable/collapsible accordion component for the CTT Design System. * Supports slotted content for title, description, and main content. * * @element ctt-accordion * * @fires toggle - Dispatched when the accordion is toggled * * @slot title - Accordion title content * @slot description - Optional description content (only shown if showDescription is true) * @slot content - Main expandable content * * @csspart header - The header container * @csspart title - The title container * @csspart description - The description container * @csspart arrow - The toggle arrow icon * @csspart content - The expandable content container */ declare global { interface HTMLElementTagNameMap { 'ctt-accordion': CttAccordion; } } export declare class CttAccordion extends LitElement { static styles: import("lit").CSSResult[]; /** * The accordion title text */ title: string; /** * Optional description text */ description: string; /** * Whether to show the description */ showDescription: boolean | undefined; /** * Whether the accordion is expanded */ open: boolean; /** * ARIA label for the accordion header */ ariaLabel: string; private _contentElement; private _contentWrapper; constructor(); /** * Toggles the accordion open/closed state */ toggle(): void; private _handleHeaderClick; private _handleKeyDown; private _updateContentHeight; updated(changedProperties: PropertyValues): void; firstUpdated(): void; render(): import("lit-html").TemplateResult<1>; }