import { type ReactNode } from 'react';
import type { ButtonSystem } from '@riverbankcms/blocks';
/**
 * Button Widget Context
 *
 * Provides button variant configuration to form field widgets.
 * Similar to MediaEditorProvider and LinkWidgetProvider pattern.
 */
export interface ButtonVariantOption {
    id: string;
    name: string;
    priority: number;
}
export interface ButtonWidgetContextValue {
    variants: ButtonVariantOption[];
    defaultVariant: string | null;
    buttonSystem: ButtonSystem | null;
}
export interface ButtonWidgetProviderProps {
    buttonSystem: ButtonSystem | null;
    children: ReactNode;
}
export declare function ButtonWidgetProvider({ buttonSystem, children }: ButtonWidgetProviderProps): import("react/jsx-runtime").JSX.Element;
export declare function useButtonWidgetContext(): ButtonWidgetContextValue;
