import { ModalPalette } from './types'; export interface AbdsFocusableElement extends HTMLElement { setFocus?: () => Promise; } /** * @slot modal-body - Adds body content. * @slot modal-footer - Adds footer content. */ export declare class Modal { host: HTMLAbdsModalElement; /** Sets header text. */ headerText: string; /** Adds an abds-icon on left side of header text. */ icon: string; /** Sets open/closed state. */ open: boolean; /** Sets header text color. */ palette: ModalPalette; handleOpenStateChange(newOpen: boolean, oldOpen?: boolean): void; private bottomObserver; private closeButtonEl; private focusCycleDirection; private focusGateStartEl; private modalBodyBottomEl; private modalBodyEl; private modalBodyTopEl; private modalBodyWrapperEl; private returnFocusEl; private topObserver; private closeModal; private getSlotByName; private focusNextFocusableElement; private initIntersectionObserver; private observeBottomIntersection; private observeTopIntersection; private returnFocus; private wrapFocus; /** Determines if footer should be shown. */ hasFooter: boolean; /** * Reflects the condition where .modal-body content is taller than * .modal-body-wrapper. */ isBodyBottomOverflown: boolean; isBodyTopOverflown: boolean; handleKeyup(event: KeyboardEvent): void; handleKeydown(event: KeyboardEvent): void; componentDidLoad(): void; componentDidRender(): void; componentWillLoad(): void; disconnectedCallback(): void; render(): any; }