import { CustomElement } from '../../Abstracts/CustomElement';
import type { IDisclosureElementProps } from './IDisclosureElementProps';
declare const DisclosureElement_base: (abstract new (...args: Array<any>) => import("../../../../Controls/Behaviors/Themeable").IThemeableProps) & typeof CustomElement & import("../../../../Controls/Behaviors/Themeable").IThemeableCtor;
/**
 * Disclosure - A component that represents a disclosure widget for revealing or hiding additional content.
 *
 * @description This component provides an interface for expanding and collapsing content, making it useful for organizing information in a way that is accessible yet unobtrusive.
 *
 * @name Disclosure
 * @element mosaik-disclosure
 * @category UI Components
 *
 * @slot start - The slot for placing content at the start of the disclosure.
 * @slot summary - The slot for placing summary content that triggers the disclosure.
 * @slot end - The slot for placing content at the end of the disclosure.
 * @slot - The default slot for placing the main content inside the disclosure.
 *
 * @csspart details - The part representing the details content area.
 * @csspart summary - The part representing the summary content area.
 *
 * @public
 *
 * @example
 * ```html
 * <mosaik-disclosure>
 *   <div slot="summary">Summary Content</div>
 *   <div slot="details">Detailed Content that can be expanded or collapsed.</div>
 * </mosaik-disclosure>
 * ```
 */
export declare class DisclosureElement extends DisclosureElement_base implements IDisclosureElementProps {
    private _detailsElement;
    private _summary;
    private _isExpanded;
    /**
     * @public
     */
    constructor();
    /**
     * Returns the `{@link is}` property.
     * The `{@link is}` property represents natural name of this element.
     *
     * @public
     * @static
     * @readonly
     */
    static get is(): string;
    /**
     * Gets or sets the `summary` property.
     *
     * @public
     * @attr
     */
    get summary(): string;
    set summary(value: string);
    /**
     * Gets or sets the `isExpanded` property.
     *
     * @public
     * @attr
     */
    get isExpanded(): boolean;
    set isExpanded(value: boolean);
    /**
     * @public
     * @override
     */
    connectedCallback(): void;
    /**
     * @public
     * @override
     */
    disconnectedCallback(): void;
    /**
     * Show extra content.
     */
    show(): void;
    /**
     * Hide extra content.
     */
    hide(): void;
    /**
     * Toggle the current(expanded/collapsed) state.
     */
    toggle(): void;
    /**
     * Update the aria attr and fire `toggle` event
     */
    onToggle(): void;
    /**
     * @protected
     * @override
     */
    protected onApplyTemplate(): void;
}
/**
 * @public
 */
export declare namespace DisclosureElement {
    type Props = IDisclosureElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-disclosure': DisclosureElement;
    }
}
export {};
//# sourceMappingURL=DisclosureElement.d.ts.map