/// import { type InteractOutsideEvent } from '../../internal/actions/index.js'; import type { MeltActionReturn } from '../../internal/types.js'; import type { PopoverEvents } from './events.js'; import type { CreatePopoverProps } from './types.js'; export declare const popoverIdParts: readonly ["trigger", "content"]; export type PopoverIdParts = typeof popoverIdParts; export declare function createPopover(args?: CreatePopoverProps): { ids: import("../../internal/helpers/index.js").ToWritableStores<{ content: string; trigger: string; }>; elements: { trigger: import("../../internal/helpers/index.js").MeltElement<[import("svelte/store").Readable, import("../../internal/helpers/index.js").WithGet>, import("../../internal/helpers/index.js").WithGet>], (node: HTMLElement) => MeltActionReturn, ([$isVisible, $contentId, $triggerId]: [boolean, string, string]) => { readonly role: "button"; readonly 'aria-haspopup': "dialog"; readonly 'aria-expanded': "true" | "false"; readonly 'data-state': "open" | "closed"; readonly 'aria-controls': string; readonly id: string; }, string>; content: import("../../internal/helpers/index.js").MeltElement<[import("svelte/store").Readable, { update: (updater: import("svelte/store").Updater, sideEffect?: ((newValue: boolean) => void) | undefined) => void; set: (this: void, value: boolean) => void; subscribe(this: void, run: import("svelte/store").Subscriber, invalidate?: import("svelte/store").Invalidator | undefined): import("svelte/store").Unsubscriber; get: () => boolean; destroy?: (() => void) | undefined; }, import("../../internal/helpers/index.js").WithGet>, import("../../internal/helpers/index.js").WithGet>, import("../../internal/helpers/index.js").WithGet>], (node: HTMLElement) => { destroy(): void; }, ([$isVisible, $open, $activeTrigger, $portal, $contentId]: [boolean, boolean, HTMLElement | null, string | HTMLElement | null, string]) => { readonly hidden: true | undefined; readonly tabindex: -1; readonly style: string | undefined; readonly id: string; readonly 'data-state': "open" | "closed"; readonly 'data-portal': "" | undefined; }, string>; arrow: import("../../internal/helpers/index.js").MeltElement>, import("svelte/action").Action>, ($arrowSize: number) => { readonly 'data-arrow': true; readonly style: string; }, string>; close: import("../../internal/helpers/index.js").MeltElement MeltActionReturn, () => { readonly type: "button"; }, string>; overlay: import("../../internal/helpers/index.js").MeltElement<[import("svelte/store").Readable], (node: HTMLElement) => { destroy(): void; }, ([$isVisible]: [boolean]) => { readonly hidden: true | undefined; readonly tabindex: -1; readonly style: string; readonly 'aria-hidden': "true"; readonly 'data-state': "open" | "closed"; }, string>; }; states: { open: { update: (updater: import("svelte/store").Updater, sideEffect?: ((newValue: boolean) => void) | undefined) => void; set: (this: void, value: boolean) => void; subscribe(this: void, run: import("svelte/store").Subscriber, invalidate?: import("svelte/store").Invalidator | undefined): import("svelte/store").Unsubscriber; get: () => boolean; destroy?: (() => void) | undefined; }; }; options: import("../../internal/helpers/index.js").ToWritableStores | undefined; onOpenChange: import("../../internal/helpers/index.js").ChangeFn | undefined; disableFocusTrap: boolean; escapeBehavior: import("../../internal/actions/index.js").EscapeBehaviorType; closeOnOutsideClick: boolean; onOutsideClick: ((event: InteractOutsideEvent) => void) | undefined; preventTextSelectionOverflow: boolean; preventScroll: boolean; portal: string | HTMLElement | null; forceVisible: boolean; openFocus: import("../../internal/helpers/index.js").FocusProp | undefined; closeFocus: import("../../internal/helpers/index.js").FocusProp | undefined; ids?: Partial<{ content: string; trigger: string; }> | undefined; }, "open" | "ids">>; };