/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { BaseComponent, IBaseComponent } from '../core/base/base-component';
export interface IExpansionPanelComponent extends IBaseComponent {
    open: boolean;
    useAnimations: boolean;
    openCallback: () => void | Promise<void>;
    closeCallback: () => void | Promise<void>;
    orientation: string;
    toggle(): void;
    setOpenImmediate(open: boolean): void;
}
declare global {
    interface HTMLElementTagNameMap {
        'forge-expansion-panel': IExpansionPanelComponent;
    }
    interface HTMLElementEventMap {
        'forge-expansion-panel-toggle': CustomEvent<boolean>;
    }
}
/**
 * A web component that encapsulates the functionality of expanding/collapsing content when clicked.
 *
 * @tag forge-expansion-panel
 */
export declare class ExpansionPanelComponent extends BaseComponent implements IExpansionPanelComponent {
    static get observedAttributes(): string[];
    private _foundation;
    constructor();
    initializedCallback(): void;
    connectedCallback(): void;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    disconnectedCallback(): void;
    /** Controls the open state of the panel. */
    open: boolean;
    /**
     * Sets the function to call when the panel wants to open.
     * The function must return a promise which can be resolved to
     * open the panel or rejected which cancels the panel open.
     */
    openCallback: () => void | Promise<void>;
    /**
     * Sets the function to call when the panel wants to close.
     * The function must return a promise which can be resolved to
     * close the panel or rejected which cancels the panel close.
     */
    closeCallback: () => void | Promise<void>;
    /**
     * Sets the orientation of the panel expansion.
     * Valid values are 'vertical' (default) or 'horizontal'.
     */
    orientation: string;
    /** Gets/sets if animations are used in the expand/collapse transition. */
    useAnimations: boolean;
    /** Toggles the collapsed state. */
    toggle(): void;
    /** Forces the expansion panel to expand/collapse without transition animations. */
    setOpenImmediate(open: boolean): void;
}
