import { default as React, ReactNode } from 'react';
import { MantineColor, MantineSize, MantineRadius } from '@mantine/core';
export interface ArchbaseSpeedDialAction {
    /** ID único da ação */
    id: string;
    /** Ícone da ação */
    icon: ReactNode;
    /** Label da ação (tooltip) */
    label: string;
    /** Callback ao clicar */
    onClick: () => void;
    /** Cor da ação */
    color?: MantineColor;
    /** Se está desabilitado */
    disabled?: boolean;
    /** Se deve mostrar label junto ao botão */
    showLabel?: boolean;
}
export interface ArchbaseSpeedDialProps {
    /** Ações do speed dial */
    actions: ArchbaseSpeedDialAction[];
    /** Ícone quando fechado */
    icon?: ReactNode;
    /** Ícone quando aberto */
    openIcon?: ReactNode;
    /** Cor do botão principal */
    color?: MantineColor;
    /** Tamanho dos botões */
    size?: MantineSize;
    /** Raio das bordas */
    radius?: MantineRadius;
    /** Direção de expansão */
    direction?: 'up' | 'down' | 'left' | 'right';
    /** Se está aberto (controlado) */
    opened?: boolean;
    /** Callback ao abrir/fechar */
    onOpenChange?: (opened: boolean) => void;
    /** Se deve fechar ao clicar em uma ação */
    closeOnActionClick?: boolean;
    /** Posição no layout */
    position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
    /** Se está fixo na tela */
    fixed?: boolean;
    /** Espaçamento da borda quando fixo */
    offset?: number;
    /** Espaçamento entre ações */
    gap?: number;
    /** Variante do botão */
    variant?: 'filled' | 'light' | 'outline' | 'subtle' | 'default';
    /** Se deve mostrar backdrop */
    withBackdrop?: boolean;
    /** Callback ao clicar no backdrop */
    onBackdropClick?: () => void;
    /** Classe CSS */
    className?: string;
    /** Estilo */
    style?: React.CSSProperties;
}
export declare const ArchbaseSpeedDial: React.ForwardRefExoticComponent<ArchbaseSpeedDialProps & React.RefAttributes<HTMLDivElement>>;
