/**
 * @license
 * Copyright 2025 Sandlada & Kai Orion
 * SPDX-License-Identifier: MIT
 */
import { type SlotsType } from 'vue';
import { type IDialogAnimation } from './animations';
import { type TDialogSlots } from './dialog.definition';
export declare const Dialog: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    defaultOpen: {
        default: boolean;
        type: import("vue").PropType<boolean>;
    };
    modelValue: {
        default: null;
        type: import("vue").PropType<boolean>;
    };
}>, {}, {
    animationController: null | AbortController;
    open: boolean;
    opening: boolean;
    returnValue: string;
    nextClickIsFromContent: boolean;
    escapePressedWithoutCancel: boolean;
    isAtScrollTop: boolean;
    isAtScrollBottom: boolean;
    intersectionObserver: null | IntersectionObserver;
}, {
    isOpen: {
        get(): boolean;
        set(value: boolean): void;
    };
}, {
    show(): Promise<void>;
    close(returnValue?: string): Promise<void>;
    getDialogElement(): HTMLDialogElement;
    getScrimElement(): HTMLElement;
    getContentElement(): HTMLElement;
    getContainerElement(): HTMLElement;
    getScrollerElement(): HTMLElement;
    getHeadlineElement(): HTMLElement;
    getActionsElement(): HTMLElement;
    getTopAnchorElement(): HTMLElement;
    getBottomAnchorElement(): HTMLElement;
    animateDialog(animation: IDialogAnimation): Promise<void>;
    handleCancel(e: Event): void;
    handleClose(): void;
    handleSubmit(e: SubmitEvent): void;
    handleContentClick(): void;
    handleDialogClick(e: Event): void;
    handleKeydown(event: KeyboardEvent): void;
    handleAnchorIntersection(entry: IntersectionObserverEntry): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("submit" | "cancel" | "close" | "update:modelValue" | "open" | "opend" | "closed")[], "submit" | "cancel" | "close" | "update:modelValue" | "open" | "opend" | "closed", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    defaultOpen: {
        default: boolean;
        type: import("vue").PropType<boolean>;
    };
    modelValue: {
        default: null;
        type: import("vue").PropType<boolean>;
    };
}>> & Readonly<{
    onSubmit?: ((...args: any[]) => any) | undefined;
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    onCancel?: ((...args: any[]) => any) | undefined;
    onClose?: ((...args: any[]) => any) | undefined;
    onOpen?: ((...args: any[]) => any) | undefined;
    onOpend?: ((...args: any[]) => any) | undefined;
    onClosed?: ((...args: any[]) => any) | undefined;
}>, {
    modelValue: boolean;
    defaultOpen: boolean;
}, SlotsType<TDialogSlots>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
//# sourceMappingURL=dialog.d.ts.map