import { PropertyValues } from 'lit';
import { PktElementWithSlot } from '../../base-elements/element-with-slot';
import { Ref } from 'lit/directives/ref.js';
import { TPktSize } from '../../types/size';
type ModalSize = TPktSize | 'fit-content';
export interface IPktModal {
    open?: boolean;
    headingText?: string;
    removePadding?: boolean;
    hideCloseButton?: boolean;
    closeOnBackdropClick?: boolean;
    closeButtonSkin?: 'blue' | 'yellow-filled';
    size?: ModalSize;
    variant?: 'dialog' | 'drawer';
    drawerPosition?: 'left' | 'right';
    transparentBackdrop?: boolean;
}
export declare class PktModal extends PktElementWithSlot implements IPktModal {
    open?: boolean;
    headingText?: string;
    removePadding?: boolean;
    hideCloseButton?: boolean;
    closeOnBackdropClick?: boolean;
    closeButtonSkin?: 'blue' | 'yellow-filled';
    size?: ModalSize;
    variant?: 'dialog' | 'drawer';
    drawerPosition?: 'left' | 'right';
    transparentBackdrop?: boolean;
    dialogRef: Ref<HTMLDialogElement>;
    _isOpen: boolean;
    constructor();
    connectedCallback(): Promise<void>;
    disconnectedCallback(): void;
    protected updated(changedProperties: PropertyValues): void;
    protected firstUpdated(_changedProperties: PropertyValues): Promise<void>;
    private handleKeyDown;
    private handleBackdropClick;
    private isElementInViewport;
    close: (event: Event, bypassNativeClose?: boolean) => void;
    showModal: (event?: Event | null) => void;
    render(): import('lit-html').TemplateResult<1>;
}
export {};
