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.
     */
    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;
    private _elDialog;
    private _elTriggerSlot;
    /**
     * Opens the dialog.
     */
    show(reason?: string): void;
    /**
     * Closes the dialog.
     * @param returnValue - The value to return when the dialog is closed.
     */
    close(reason: string): void;
    disconnectedCallback(): void;
    render(): any;
    private _handleOpenChange;
}
export {};
