import { FoundationElement } from '@ni/fast-foundation';
import type { AnchoredRegion } from '@ni/nimble-components/dist/esm/anchored-region';
import { type FvSplitButtonAppearance as FvSplitButtonAppearanceType, type FvSplitButtonAppearanceVariant as FvSplitButtonAppearanceVariantType } from './types';
declare global {
    interface HTMLElementTagNameMap {
        'ok-fv-split-button': FvSplitButton;
    }
}
/**
 * A button with a primary action and a secondary expandable menu surface.
 */
export declare class FvSplitButton extends FoundationElement {
    label: string;
    disabled: boolean;
    open: boolean;
    appearance: FvSplitButtonAppearanceType;
    appearanceVariant: FvSplitButtonAppearanceVariantType;
    /** @internal */
    splitButtonContainer?: HTMLDivElement;
    /** @internal */
    region?: AnchoredRegion;
    /** @internal */
    disabledChanged(): void;
    /** @internal */
    connectedCallback(): void;
    /** @internal */
    disconnectedCallback(): void;
    /** @internal */
    handlePrimaryClick(): void;
    /** @internal */
    handleToggleClick(): void;
    /** @internal */
    handleMenuChange(): void;
    /** @internal */
    regionChanged(prev: AnchoredRegion | undefined, _next: AnchoredRegion | undefined): void;
    /** @internal */
    splitButtonContainerChanged(): void;
    private readonly documentClickHandler;
    private readonly keydownHandler;
    private readonly menuChangeHandler;
    private setOpen;
}
export declare const fvSplitButtonTag = "ok-fv-split-button";
