import { GetLabelType } from '@m4l/core';
import { Formatters } from '@m4l/graphics';
import { DataTypeFilerLabels, FilterField, FilterFieldApplied, FilterValue, FilterValueSelect, FormFilterValueSelect, OperandSelect, InitialFilterApplied } from '../../../types';
import { IFieldType } from '../FieldTypeInterface';
import { SelectFilter } from './index';
import { ValidationSchema } from '../../../../hook-form/RHFormProvider';
/**
 * Filtra los valores de operandArray para que solo tengan valores validos
 * @param operandsArray valores del OperandsArray
 * @param field Propiedades del field
 * @returns FormOperandSelect[] operandArray filtrado con valores validados
 */
export declare function filterValidOperandsArraySelect(operandsArray: OperandSelect[] | OperandSelect, _field: FilterField): (string | number)[];
/**
 * SelectFilterHelpers es una clase que implementa la interfaz IFieldType
 */
export declare class SelectFilterHelpers implements IFieldType<FormFilterValueSelect> {
    getComponent(): typeof SelectFilter;
    /**
     * getDefaultFilter devuelve un filtro por defecto para un campo de selección.
     * Cuando es initialized o fixed
     */
    getDefaultFilter(fieldSelect: FilterField, fixed: boolean): FilterFieldApplied;
    /**
     * Función para obtener el valor en terminos de HookForm desde los ids de los values.
     */
    getFormValue(fieldSelect: FilterField, getLabel: GetLabelType, filterValueSelect?: FilterValue): FormFilterValueSelect;
    /**
     * getFilterFromFormValue convierte un valor de formulario en un valor de filtro.
     */
    getFilterFromFormValue(formFilterValue: FormFilterValueSelect): FilterValueSelect;
    /**
     * getLabels devuelve las etiquetas para el filtro de selección.
     */
    getLabels(filter: FilterFieldApplied, getLabel: GetLabelType, _formatters: Formatters, fieldSelect: FilterField): DataTypeFilerLabels;
    /**
     * getSchema devuelve el esquema de validación de Yup para un filtro de selección.
     */
    getSchema(getLabel: GetLabelType, _field?: FilterField): ValidationSchema<FormFilterValueSelect>;
    /**
     * TODO: Documentar
     */
    verifyFilter(filter: InitialFilterApplied, fieldSelect?: FilterField): boolean;
}
//# sourceMappingURL=helpers.d.ts.map