import { OverridesStyleRules } from '@mui/material/styles/overrides';
import { BooleanFormatterRootStyled, BooleanFormatterSlots } from './slots';
import { BOOLEAN_FORMATTER_KEY_COMPONENT } from './constants';
import { Theme } from '@mui/material';
/**
 * Defines the presentation type for the BooleanFormatter component.
 * - `'string_yes_no'`: Displays "Yes" for `true` and "No" for `false`.
 * - `'string_true_false'`: Displays "True" for `true` and "False" for `false`.
 * - `'check'`: Displays an icon to represent the boolean value.
 */
export type PresentationType = 'string_yes_no' | 'string_true_false' | 'check' | 'chip_active_inactive' | 'chip_yes_no';
/**
 * Maps to the keys in `BooleanFormatterSlots`, defining slot-specific styling or customization.
 */
export type BooleanFormatter = keyof typeof BooleanFormatterSlots;
/**
 * Properties for the `BooleanFormatter` component.
 */
export interface BooleanFormatterProps<T extends React.ElementType = typeof BooleanFormatterRootStyled> {
    Component?: T;
    presentationType: PresentationType;
    value?: boolean;
    dataTestId?: string;
    className?: string;
    /**
     * Props para el componente personalizado.
     */
    componentProps?: React.ComponentPropsWithoutRef<T>;
}
/**
 * State properties for the `BooleanFormatter` component.
 */
export interface BooleanFormatterOwnerState {
    value?: boolean;
    [key: string]: unknown;
}
/**
 * Styles for customizing the `BooleanFormatter` component.
 *
 * This type allows partial overriding of the default styles through Material-UI's `OverridesStyleRules`.
 * It integrates with the Material-UI `Theme` to ensure consistent theming.
 */
export type BooleanFormatterStyles = OverridesStyleRules<BooleanFormatter, typeof BOOLEAN_FORMATTER_KEY_COMPONENT, Theme>;
//# sourceMappingURL=types.d.ts.map