import { ReactiveController, ReactiveElement } from 'lit';
export type TypeExpandable = ReactiveElement & {
    expanded?: boolean;
    behaviorExpand?: boolean;
    expandable?: boolean;
    _internals?: ElementInternals;
};
/**
 * Controller for enabling expandable behavior for elements.
 * @event open - Dispatched when the expandable element opens.
 * @event close - Dispatched when the expandable element closes.
 * @property expanded - expanded state
 * @property behaviorExpand - determines if stateful auto behavior should enable
 */
export declare class TypeExpandableController<T extends TypeExpandable> implements ReactiveController {
    #private;
    private host;
    constructor(host: T, config?: {
        useHidden?: boolean;
    });
    hostConnected(): void;
    hostUpdated(): void;
    open(): void;
    close(): void;
    toggle(): void;
}
