import { CSSResultGroup, LitElement, PropertyValues } from "lit";
declare const M3eCollapsibleElement_base: typeof LitElement;
/**
* A container used to expand and collapse content.
*
* @example
* ```html
*
*
*
* ```
*
* @tag m3e-collapsible
*
* @slot - Renders the collapsible content.
*
* @attr open - Whether content is visible.
*
* @fires opening - Emitted when the collapsible begins to open.
* @fires opened - Emitted when the collapsible has opened.
* @fires closing - Emitted when the collapsible begins to close.
* @fires closed - Emitted when the collapsible has closed.
*
* @cssprop --m3e-collapsible-animation-duration - The duration of the expand / collapse animation.
*/
export declare class M3eCollapsibleElement extends M3eCollapsibleElement_base {
#private;
/** The styles of the element. */
static styles: CSSResultGroup;
/**
* Whether content is visible.
* @default false
*/
open: boolean;
/** @inheritdoc */
protected update(changedProperties: PropertyValues): void;
/** @inheritdoc */
protected render(): unknown;
}
interface M3eCollapsibleElementEventMap extends HTMLElementEventMap {
opening: Event;
opened: Event;
closing: Event;
closed: Event;
}
export interface M3eCollapsibleElement {
addEventListener(type: K, listener: (this: M3eCollapsibleElement, ev: M3eCollapsibleElementEventMap[K]) => void, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener(type: K, listener: (this: M3eCollapsibleElement, ev: M3eCollapsibleElementEventMap[K]) => void, options?: boolean | EventListenerOptions): void;
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
}
declare global {
interface HTMLElementTagNameMap {
"m3e-collapsible": M3eCollapsibleElement;
}
}
export {};
//# sourceMappingURL=CollapsibleElement.d.ts.map