import { PharosElement } from '../base/pharos-element'; import { nothing } from 'lit'; import type { TemplateResult, CSSResultArray, PropertyValues } from 'lit'; import { PharosButton } from '../button/pharos-button'; import { PharosHeading } from '../heading/pharos-heading'; export type ModalSize = 'small' | 'medium' | 'large'; export declare const allSizes: ModalSize[]; declare const PharosModal_base: typeof PharosElement; /** * Pharos modal component. * * @tag pharos-modal * * @slot description - Content that describes the primary message or purpose of the modal. * @slot - Contains the content of the modal body. * @slot footer - Contains the content of the modal footer. * * @fires pharos-modal-open - Fires when the modal is about to open - cancelable * @fires pharos-modal-opened - Fires when the modal has opened * @fires pharos-modal-close - Fires when the modal is about to close - cancelable * @fires pharos-modal-closed - Fires when the modal has closed * */ export declare class PharosModal extends PharosModal_base { static elementDefinitions: { 'pharos-button': typeof PharosButton; 'pharos-heading': typeof PharosHeading; }; private _focusTrapController; private _currentTrigger; /** * Indicates if the modal is open. * @attr open */ open: boolean; /** * Text content for the modal header * @attr header */ header: string; /** * Indicates if the modal footer should contain a divider. * @attr footer-divider */ footerDivider: boolean; /** * Indicates the size of the modal * @attr size */ size: ModalSize; private _triggers; private _isFooterEmpty; constructor(); static get styles(): CSSResultArray; protected firstUpdated(): void; protected update(changedProperties: PropertyValues): void; protected updated(changedProperties: PropertyValues): void; connectedCallback(): void; disconnectedCallback(): void; private _addTriggerListeners; private _closeModal; private _openModal; private _handleKeydown; private _handleDialogClick; private _handleTriggerClick; private _getInitialFocus; private _emitVisibilityChange; protected get descriptionContent(): TemplateResult | typeof nothing; protected get descriptionId(): string | undefined; private _handleFooterSlotchange; protected render(): TemplateResult; } export {}; //# sourceMappingURL=pharos-modal.d.ts.map