import type { ButtonHTMLAttributes, ReactNode } from 'react';
export type ButtonProps = {
    modifier?: ButtonsVariants;
    iconL?: ReactNode;
    iconR?: ReactNode;
} & ButtonHTMLAttributes<HTMLButtonElement>;
export type ButtonsVariants = 'principal' | 'second' | 'text' | 'action';
/**
 * Represents a button component with different modifiers.
 *
 * @component
 * @example
 * // Example usage of Button component
 * <Button iconL={<FiArrowRight />} onClick={() => console.log("Button clicked")}>Click me</Button>
 *
 * @param {Object} props - The properties of the Button component.
 * @param {'principal' | 'second' | 'text' | 'action'} [props.modifier='principal'] - The modifier for styling the button.
 * @param {ReactNode} [props.iconL] - The icon to be displayed to the left of the button text.
 * @param {ReactNode} [props.iconR] - The icon to be displayed to the right of the button text.
 * @param {ReactNode} props.children - The content to be displayed inside the button.
 * @param {ButtonHTMLAttributes<HTMLButtonElement>} restProps - Additional properties for the button element.
 *
 * @returns {ReactNode} The rendered Button component.
 */
export declare function Button({ modifier, iconL, iconR, children, ...restProps }: ButtonProps): ReactNode;
//# sourceMappingURL=Button.d.ts.map