import { LitElement, PropertyValues, nothing } from 'lit';
import { ShadowPartsController } from '../../controllers/shadow-parts-controller';
import { OverlayAppearanceType } from '../../types/ui.types';
declare global {
    interface HTMLElementTagNameMap {
        "wy-overlay": WyOverlay;
    }
}
/**
 * Modal overlay based on `<dialog>` element.
 * See [MDN: Dialog](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/dialog).
 *
 * Uses the native Popover API.
 * See [MDN: Popover API](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API).
 *
 * **Used sub components**
 *
 * - [`<wy-titlebar>`](./wy-titlebar.ts)
 * - [`<wy-button>`](./wy-button.ts)
 * - [`<wy-icon>`](./wy-icon.ts)
 *
 * @fires {CloseEventType} close - When overlay is closed.
 *
 * @slot - Default overlay content.
 * @slot header - The full header when `header' is enabled.
 * @slot title - Text in the `header`.
 * @slot actions - Buttons in the `header`.
 *
 * @csspart wy-dialog - Base for all dialogs.
 * @csspart wy-dialog-modal - Dialog with modal backdrop.
 * @csspart wy-overlay - Dialog content.
 * @csspart wy-overlay-titlebar - Dialog titlebar.
 * @csspart wy-modal - Modal overlay content with full viewport size.
 * @csspart wy-modal-centered - Modal overlay with limited size in the center of the viewport.
 * @csspart wy-sheet - Overlay in the bottom.
 * @csspart wy-drawer - Overlay in the right side.
 * @csspart wy-open - When dialog content is shown.
 * @csspart wy-maximized - When modal is maximized size.
 */
export declare class WyOverlay extends LitElement {
    static styles: import('lit').CSSResult[];
    protected exportParts: ShadowPartsController;
    private viewportRef;
    /**
     * Whether the overlay should be shown.
     */
    show: boolean;
    /**
     * Appearance of the overlay.
     *
     * - "modal" - Centered overlay with blocked background.
     * - "sheet" - Bottom overlay without background blocking.
     * - "drawer" - Side overlay without background blocking.
     * - "full" - Full window overlay.
     * - "none" - No rendering.
     */
    type: OverlayAppearanceType;
    /**
     * Maximized layout for the modal.
     */
    maximized: boolean;
    /**
     * Remove the header.
     */
    noHeader: boolean;
    /**
     * Close the modal.
     */
    close(): void;
    /**
     * Checks whether the overlay is using the modal api.
     *
     * @param [type] - Optional type to check
     * @returns Whether the overlay is using the modal api.
     */
    isModal(type?: OverlayAppearanceType): boolean;
    /**
     * Event handler for closing the modal.
     * @internal
     */
    handleClose: (e?: Event) => void;
    willUpdate(changedProperties: PropertyValues<this>): void;
    render(): import('../../../node_modules/lit-html/node/lit-html.js').TemplateResult<1> | typeof nothing;
    updated(changedProperties: PropertyValues<this>): void;
    disconnectedCallback(): void;
}
//# sourceMappingURL=wy-overlay.d.ts.map