/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { GridFilterOperator } from './GridFilterOperator';
import { GridFilterOperators } from './GridFilterOperators';
/**
 * The props of the GridFilterCell component
 * ([more information and examples]({% slug filtering_grid %})).
 */
/**
 * @hidden
 */
export interface GridFilterCellProps {
    /**
     * @hidden
     */
    id: string;
    /**
     * The instance of the Grid component.
     */
    grid?: any;
    /**
     * The title of the filter editor.
     */
    title?: string;
    /**
     * The column span of the cell.
     */
    colSpan?: number;
    /**
     * The column field in which the cell is located.
     */
    field?: string;
    /**
     * The type of the filter. Determines which editor will be rendered for filtering.
     * The supported values are the following 0 'text' | 'numeric' | 'boolean' | 'date;
     */
    filterType: string;
    /**
     * The value of the cell.
     */
    value: any;
    /**
     * The operator that will be used for the cell filtering.
     */
    operator: string;
    /**
     * The list of the default operators for the current filter type.
     */
    operators: GridFilterOperators[];
    /**
     * The list of values for the Boolean filter.
     */
    booleanValues: GridFilterOperator[];
    /**
     * The method that will be called if the cell needs to inform its parent Grid about a change.
     */
    onChange?: (event: {
        value: any;
        operator: string | Function;
        event: any;
    }) => void;
    /**
     * The method for rendering the filter cell.
     */
    render?: any;
    /**
     * The ariaLabel of the filter editor.
     */
    ariaLabel?: string;
    /**
     * Configures the `size` of the cell.
     *
     * The available options are:
     * - small
     * - medium
     * - large
     *
     * @default `undefined`
     */
    size?: 'small' | 'medium' | 'large';
}
