import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from "lit";
import "../button/bl-button";
/**
 * @tag bl-dialog
 * @summary Baklava Dialog component
 */
export default class BlDialog extends LitElement {
    static get styles(): CSSResultGroup;
    /**
     * Sets dialog open-close status
     */
    open: boolean;
    /**
     * Sets the dialog title
     */
    caption?: string;
    /**
     * Determines if dialog currently uses polyfilled version instead of native HTML Dialog. By
     * default, it uses native Dialog if the browser supports it, otherwise polyfills. You can force
     * using polyfill by setting this to true in some cases like to show some content on top of dialog
     * in case you are not able to use Popover API. Be aware that, polyfilled version can cause some
     * inconsistencies in terms of accessibility and stacking context. So use it with extra caution.
     */
    polyfilled: boolean;
    private dialog;
    private footer;
    private container;
    private content;
    /**
     * Fires when the dialog is opened
     */
    private onOpen;
    /**
     * Fires before the dialog is closed with internal actions like clicking close button,
     * pressing Escape key or clicking backdrop. Can be prevented by calling `event.preventDefault()`
     */
    private onRequestClose;
    /**
     * Fires when the dialog is closed
     */
    private onClose;
    updated(changedProperties: PropertyValues<this>): void;
    private get _hasFooter();
    private toggleDialogHandler;
    private closeDialog;
    private clickOutsideHandler;
    private onKeydown;
    private toggleFooterShadow;
    private renderFooter;
    private renderContainer;
    render(): TemplateResult;
}
declare global {
    interface HTMLElementTagNameMap {
        "bl-dialog": BlDialog;
    }
}
//# sourceMappingURL=bl-dialog.d.ts.map