import { AddButtonAction, type IAddButtonPermissionsServerModel } from "../lib/IFrameCommunicatorTypes"; import { type ParseResult } from "../utils/dataAttributes/parser"; import type { AsyncCustomEvent } from "../utils/events"; import { KSLPositionedElement } from "./abstract/KSLPositionedElement"; interface IKSLAddButtonElementEventData { readonly data: ParseResult & TMessageData; readonly targetNode: HTMLElement; } interface IKSLAddButtonElementInitialEventReason { readonly message: string; } type KSLAddButtonElementInitialEventData = IKSLAddButtonElementEventData; type KSLAddButtonElementActionEventData = IKSLAddButtonElementEventData<{ action: AddButtonAction; }>; export type KSLAddButtonElementActionEvent = CustomEvent; export 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 displayPopover; private dismissPopover; private addPopoverEventListeners; private removePopoverEventListeners; private handleCreateComponentClick; private handleCreateLinkedItemClick; private handleInsertLinkedItemClick; private handleAddActionClick; } export {};