/**
     * Button + popover composition for the common toggle-on-click pattern.
     *
     * Wraps a `Popover` instance with a `<button>`, a positioned content area,
     * and scale transitions. Spreads extra props onto the button element.
     * Pass `popover_content` for the popover body, and either `children` for
     * simple button content or `button` for a fully custom trigger —
     * both receive the `Popover` instance.
     *
     * @example
     * ```svelte
     * <PopoverButton position="bottom" align="center">
     * 	{#snippet popover_content(popover)}
     * 		<div class="box p_md">
     * 			<button type="button" onclick={() => popover.hide()}>close</button>
     * 		</div>
     * 	{/snippet}
     * 	open menu
     * </PopoverButton>
     * ```
     *
     * @example
     * ```svelte
     * <!-- custom trigger via the `button` snippet -->
     * <PopoverButton position="right" align="start" disable_outside_click>
     * 	{#snippet popover_content(popover)}
     * 		<form onsubmit={() => popover.hide()}>
     * 			<input name="search" />
     * 			<button type="submit">go</button>
     * 		</form>
     * 	{/snippet}
     * 	{#snippet button(popover)}
     * 		<button type="button" class="icon_button" {@attach popover.trigger()}>
     * 			search
     * 		</button>
     * 	{/snippet}
     * </PopoverButton>
     * ```
     *
     * @see `ConfirmButton` for a higher-level wrapper with confirmation semantics
     *
     * @module
     */
import type { SvelteHTMLElements } from 'svelte/elements';
import type { Snippet } from 'svelte';
import type { OmitStrict } from '@fuzdev/fuz_util/types.js';
import { Popover } from './popover.svelte.js';
import type { Position, Alignment } from './position_helpers.js';
type $$ComponentProps = OmitStrict<SvelteHTMLElements['button'], 'children'> & {
    position?: Position | undefined;
    align?: Alignment | undefined;
    disable_outside_click?: boolean | undefined;
    popover_class?: string | undefined;
    popover_attrs?: SvelteHTMLElements['div'] | undefined;
    popover_content: Snippet<[popover: Popover]>;
    popover_container_attrs?: SvelteHTMLElements['div'] | undefined;
    button?: Snippet<[popover: Popover]> | undefined;
    children?: Snippet<[popover: Popover]> | undefined;
};
declare const PopoverButton: import("svelte").Component<$$ComponentProps, {}, "">;
type PopoverButton = ReturnType<typeof PopoverButton>;
export default PopoverButton;
//# sourceMappingURL=PopoverButton.svelte.d.ts.map