import { GetLabelType } from '@m4l/core';
import { Formatters } from '@m4l/graphics';
import { FC } from 'react';
import { DataTypeFilerLabels, FormSortValueBase, InitialSortApplied, SortField, SortFieldApplied, SortValue } from '../../types';
import { ValidationSchema } from '../../../hook-form/RHFormProvider/types';
/**
 * Interface para crear los helpers de cada tipo de campo
 */
export interface IFieldType {
    getComponent(): FC<{
        [key: string]: any;
    }>;
    getDefaultSort(field: SortField, fixed: boolean): SortFieldApplied;
    getLabels(Sort: SortFieldApplied, getLabel: GetLabelType, formatters: Formatters, field: SortField): DataTypeFilerLabels;
    getSchema(getLabel: GetLabelType): ValidationSchema<FormSortValueBase>;
    getFormValue(field: SortField, getLabel: GetLabelType, sortValue?: SortValue): FormSortValueBase;
    getSortFromFormValue(formSortValue: FormSortValueBase): SortValue;
    verifySort(Sort: InitialSortApplied, field?: SortField): boolean;
}
//# sourceMappingURL=FieldTypeInterface.d.ts.map