import { BlockTheme } from './BlockTheme';
import { default as React, FC } from 'react';

export interface BlockProps extends React.HTMLAttributes<HTMLElement> {
    /**
     * Label to display on the block.
     */
    label?: React.ReactNode | string;
    /**
     * Disable block bottom margin.
     */
    disableMargin?: boolean;
    /**
     * Whether to show the required * or not.
     */
    required?: boolean;
    /**
     * Children to render.
     */
    children?: React.ReactNode;
    /**
     * Additional classname to apply to the label.
     */
    labelClassName?: string;
    /**
     * Additional classname to apply to the block.
     */
    className?: string;
    /**
     * Direction of the block.
     */
    direction?: 'vertical' | 'horizontal';
    /**
     * Alignment of the label.
     */
    alignment?: 'start' | 'center' | 'end';
    /**
     * Event when the label is clicked.
     */
    onTitleClick?: (event: React.MouseEvent<HTMLLabelElement, MouseEvent>) => void;
    /**
     * Theme for the Block.
     */
    theme?: BlockTheme;
}
export declare const Block: FC<BlockProps>;
