import type { SvelteHTMLElements } from 'svelte/elements';
import type { ComponentProps, Snippet } from 'svelte';
import type { OmitStrict } from '@fuzdev/fuz_util/types.js';
import PopoverButton from './PopoverButton.svelte';
import type { Popover } from './popover.svelte.js';
type $$ComponentProps = OmitStrict<ComponentProps<typeof PopoverButton>, 'popover_content' | 'children'> & OmitStrict<SvelteHTMLElements['button'], 'children'> & {
    onconfirm: (popover: Popover) => void;
    popover_button_attrs?: SvelteHTMLElements['button'] | undefined;
    hide_on_confirm?: boolean | undefined;
    /** Unlike on `PopoverButton` this is optional and has a `confirm` arg */
    popover_content?: Snippet<[popover: Popover, confirm: () => void]> | undefined;
    /** Content for the popover button */
    popover_button_content?: Snippet<[popover: Popover, confirm: () => void]> | undefined;
    /** Unlike on `PopoverButton` this has a `confirm` arg */
    children?: Snippet<[popover: Popover, confirm: () => void]> | undefined;
    /** Simple string content for the trigger. Mutually exclusive with `children`. */
    label?: string | undefined;
    /**
     * When `true`, the trigger is disabled and a spinner overlays the
     * content (mirrors `PendingButton`). The label / children stay
     * rendered underneath so the button keeps its size.
     */
    pending?: boolean | undefined;
};
declare const ConfirmButton: import("svelte").Component<$$ComponentProps, {}, "">;
type ConfirmButton = ReturnType<typeof ConfirmButton>;
export default ConfirmButton;
//# sourceMappingURL=ConfirmButton.svelte.d.ts.map