
import { GridColumnDataType } from './grid-column-data-type';
import { IgcFieldEditorOptions } from './igc-field-editor-options';
import { IgcFilteringOperand } from './igc-filtering-operand';
import { IgcFieldPipeArgs } from './igc-field-pipe-args';


/* jsonAPIPlainObject */


/**
 * Describes a field that can be used in the Grid and QueryBuilder components.
 */

    export declare class IgcFieldType
    {

          
    /**
     * Display label for the field.
     */
    public label?: string;
  
          

    /**
     * The internal field name, used in expressions and queries.
     */
    public set field(value: string);
          public get field(): string;
  
          

    /**
     * Optional column header for UI display purposes.
     */
    public header?: string;
  
          

    /**
     * The data type of the field.
     */
    /* alternateType: GridColumnDataType */
    public set dataType(value: any);
          public get dataType(): any;
  
          

    /**
     * Options for the editor associated with this field.
     */
    public editorOptions?: IgcFieldEditorOptions;
  
          

    /**
     * Optional filtering operands that apply to this field.
     */
    public filters?: IgcFilteringOperand;
  
          

    /**
     * Optional arguments for any pipe applied to the field.
     */
    public pipeArgs?: IgcFieldPipeArgs;
  
          

    /**
     * Default time format for Date/Time fields.
     */
    public defaultTimeFormat?: string;
  
          

    /**
     * Default date/time format for Date/Time fields.
     */
    public defaultDateTimeFormat?: string;
  
            

    /**
     * Optional formatter function to transform the value before display.
     *
     * @param value - The value of the field.
     * @param rowData - Optional row data that contains this field.
     * @returns The formatted value.
     */
    public formatter?(value: any, rowData?: any): any;

    }


        