import { EventEmitter } from '../../stencil-public-runtime';
import { Nullable } from '../../types/interfaces';
export declare class GovDialog {
    private h;
    private readonly labelId;
    private readonly contentId;
    private hydrated;
    private closeCtaRef?;
    private dialogRef?;
    private lastActiveElementRef?;
    constructor();
    host: HTMLGovDialogElement;
    /**
     * Attribute for dialog window display
     */
    open: boolean;
    /**
     * Attribute allowing blocking the dialog closing
     */
    blockClose: boolean;
    /**
     * Attribute allowing blocking the backdrop dialog closing
     */
    blockBackdropClose: boolean;
    /**
     * Role of dialog
     */
    role: Nullable<string>;
    /**
     * Used to change the HTML tag in the dialog label for correct semantic structure
     */
    readonly labelTag: string;
    /**
     * String of id's that indicates alternative labels elements
     */
    accessibleLabelledBy: string;
    /**
     * Indicates the id of a component that describes the dialog.
     */
    accessibleDescribedBy: string;
    /**
     * Adds accessible label for the dialog close button that is only shown for screen readers.
     */
    readonly accessibleCloseLabel: string;
    /**
     * A string of identifiers that indicate alternative label elements for closing the dialog window
     */
    accessibleCloseLabelledBy: string;
    /**
     * Emitted when a dialog window closes.
     */
    govClose: EventEmitter<PointerEvent>;
    watchOpen(newValue: boolean): void;
    private showDialog;
    private hideDialog;
    componentDidRender(): Promise<void>;
    private focusTrap;
    connectedCallback(): void;
    disconnectedCallback(): void;
    render(): any;
    private onCloseHandler;
    /**
     * Sets the close button to focus
     */
    setFocus(): Promise<void>;
    /**
     * Validate the WCAG attributes of the component
     */
    validateAccessibility(): Promise<void>;
}
