import { RenderHeaderCellProps } from 'react-data-grid';
import { ChipStatusFormatterProps } from '../../../formatters/ChipStatusFormatter/types';
import { DeepKeyOf } from '../../../../utils/types';
import { ColumnAlign } from '../../types';
import { TagConfig } from '../../../formatters/TagsFormatter/types';
export interface SeedProps {
    quantity: number;
    withBoolean?: boolean;
    withConcatenated?: boolean;
    withDate?: boolean;
    withIcon?: boolean;
    withMultipleIcons?: boolean;
    withInteractiveCheck?: boolean;
    withNestedValue?: boolean;
    /**
     * Si es true, genera valores anidados con algunos null/undefined
     * para mostrar el comportamiento del defaultValue ('-')
     */
    withNestedValueWithNulls?: boolean;
    /**
     * Si es true, genera valores anidados con null/undefined
     * y usa un defaultValue personalizado ('N/A')
     */
    withNestedValueCustomDefaultValue?: boolean;
    withPoints?: boolean;
    withPrice?: boolean;
    withUncertainty?: boolean;
    withSetCheck?: boolean;
    withEditLabel?: boolean;
    withCesar?: boolean;
    withChipStatus?: boolean;
    withTags?: boolean;
    withImage?: boolean;
    withImageCustomSize?: {
        width: number;
        height: number;
    };
    withImageWithoutText?: boolean;
    withActions?: boolean;
    withActionsUser?: boolean;
    withBooleanStatus?: boolean;
    withUserType?: boolean;
    withEditors?: boolean;
    aligns?: Record<string, ColumnAlign>;
    names?: Record<string, string>;
    visibleColumns?: string[];
    withColor?: boolean;
}
export type GetColumnsProps = Omit<SeedProps, 'quantity'>;
export type ColumnType = 'string' | 'number' | 'boolean' | 'date' | 'custom';
export interface RowType {
    id: string;
    name: string;
    editLabel: string;
    filterableOnlyOne: string;
    email: string;
    phone: string;
    ip: string;
    active?: boolean;
    concatenated?: {
        email: string;
        phone: string;
    };
    createdAt?: Date;
    icon?: string;
    interactiveCheck?: any;
    nestedValue?: any;
    points?: number[];
    unit?: string;
    price?: number;
    uncertainty?: {
        ranges: RangesUncertainty[];
        symbol: string;
        unit: string;
    };
    tags?: TagConfig[];
    setCheck?: boolean;
    cesar?: string;
    status?: {
        label: string;
        currentStatus: ChipStatusFormatterProps['status'];
    };
    userType?: {
        label: string;
        currentStatus: 'superadmin' | 'admin' | 'user';
    };
    color?: string;
    image?: {
        url: string;
        text?: string;
    };
}
interface RangesUncertainty {
    cmcMin: number;
    cmcMax: number;
    cmcMinClosed: boolean;
    cmcMaxClosed: boolean;
    cmcUncertainty: number;
}
export interface Column<TRow, TSummaryRow> {
    key: DeepKeyOf<TRow> | string;
    name: string;
    type: ColumnType;
    formatter?: (props: any) => JSX.Element;
    width?: number;
    withinHeaderRenderer?: React.FunctionComponent<RenderHeaderCellProps<TRow, TSummaryRow>>;
    customFilter?: (row: TRow, value: string) => boolean;
    customSort?: (a: TRow, b: TRow) => number;
}
export {};
//# sourceMappingURL=types.d.ts.map