import { GdsElement } from '../../gds-element'; declare const GdsDialog_base: (new (...args: any[]) => import("../../utils/mixins/declarative-layout-mixins").SizeXProps) & (new (...args: any[]) => import("../../utils/mixins/declarative-layout-mixins").SizeYProps) & (new (...args: any[]) => import("../../utils/mixins/declarative-layout-mixins").PaddingProps) & typeof GdsElement; /** * @element gds-dialog * * @event gds-ui-state - Fired when the dialog is opened or closed. Can be cancelled to prevent the dialog from closing. * @event gds-close - Fired when the dialog is closed * @event gds-show - Fired when the dialog is opened * * @slot - The content of the dialog * @slot trigger - The trigger button for the dialog * @slot footer - The footer of the dialog * @slot dialog - Complete override of the dialog content, including header and footer */ export declare class GdsDialog extends GdsDialog_base { #private; static styles: import("lit").CSSResult[]; static styleExpressionBaseSelector: string; /** * Whether the dialog is open. The state of the dialog can be controlled either * by setting this property or by calling the `show()` and `close()` methods. * * When the state is explicitly changed by setting this prop, the state change cannot * be cancelled by events. */ open: boolean; /** * The dialog's heading. */ heading?: string; /** * The dialog's variant. */ variant: 'default' | 'slide-out'; /** * The dialog's placement. */ placement: 'initial' | 'top' | 'bottom' | 'left' | 'right'; /** * Whether the inner content of the dialog should have scrollable overflow. Scroll will appear if * the content exceeds the dialog's height, which can be controlled using the `height` property. * * This property have no effect if the `dialog` slot is used. In that case, you need to add overflow * styles to the content inside the `dialog` slot. */ scrollable: boolean; /** * Controls which user actions can close the dialog. Maps to the native `` `closedby` attribute. * * - `closerequest` (default): The dialog can be dismissed by platform close gestures (Escape key, iOS swipe, etc.). * The browser's anti-abuse mechanism applies: after one cancelled close request, subsequent cancellations * require a user activation in between. This ensures the best mobile UX. * - `none`: The dialog can only be closed by developer-specified mechanisms (buttons, click outside, or programmatic API). * A manual Escape key listener is added for desktop users, with fully cancellable behavior (no anti-abuse limit). * Mobile platform close gestures may not work in this mode. * - `any`: The dialog can also be dismissed by light dismiss (clicking outside). Note that gds-dialog already * handles click-outside via its own mechanism. */ closedby: 'closerequest' | 'none' | 'any'; private _elDialog; private _elTriggerSlot; /** * Opens the dialog. * This is a programmatic API that always opens the dialog. * Events are dispatched for notification when a reason is provided, but cancellation is not honored. */ show(reason?: string): void; /** * Closes the dialog. * This is a programmatic API that always closes the dialog. * Events are dispatched for notification when a reason is provided, but cancellation is not honored. * @param reason - The reason for closing the dialog. */ close(reason?: string): void; disconnectedCallback(): void; render(): any; private _handleOpenChange; } export {};