import { KSLPositionedElement } from './abstract/KSLPositionedElement'; import { DeepPartial } from '../utils/dataAttributes'; import { IAddActionMessageData, IAddButtonInitialMessageData, IAddButtonPermissionsServerModel } from '../lib/IFrameCommunicatorTypes'; import { AsyncCustomEvent } from '../utils/events'; interface IKSLAddButtonElementEventData { readonly data: DeepPartial; readonly targetNode: HTMLElement; } interface IKSLAddButtonElementInitialEventReason { readonly message: string; } declare type KSLAddButtonElementInitialEventData = IKSLAddButtonElementEventData; declare type KSLAddButtonElementActionEventData = IKSLAddButtonElementEventData; export declare type KSLAddButtonElementActionEvent = CustomEvent; export declare type KSLAddButtonElementInitialAsyncEvent = AsyncCustomEvent; declare global { interface WindowEventMap { 'ksl:add-button:action': KSLAddButtonElementActionEvent; 'ksl:add-button:initial': KSLAddButtonElementInitialAsyncEvent; } interface HTMLElementEventMap { 'ksl:add-button:action': KSLAddButtonElementActionEvent; 'ksl:add-button:initial': KSLAddButtonElementInitialAsyncEvent; } } export declare class KSLAddButtonElement extends KSLPositionedElement { static get is(): "ksl-add-button"; get position(): string; private readonly buttonRef; private popoverRef; constructor(); static initializeTemplate(): HTMLTemplateElement; connectedCallback(): void; disconnectedCallback(): void; adjustPosition: () => void; protected calculateTopOffset(thisRect: DOMRect, targetRect: DOMRect): number; protected calculateLeftOffset(thisRect: DOMRect, targetRect: DOMRect): number; private handleClick; private handleClickOutside; private showPopover; private hidePopover; private addPopoverEventListeners; private removePopoverEventListeners; private handleCreateComponentClick; private handleCreateLinkedItemClick; private handleInsertLinkedItemClick; private handleAddActionClick; } export {};