import { BaseState } from './BaseState';
import { AdaptableObject } from './Common/AdaptableObject';
import { SpecialColumnSettings } from './Common/SpecialColumnSettings';
/**
 * Adaptable State Section for the Free Text Column Module
 */
export interface FreeTextColumnState extends BaseState {
    /**
     * Collection of Free Text Columns
     */
    FreeTextColumns?: FreeTextColumn[];
}
/**
 * The FreeTextColumn object used in the Free Text Column function
 */
export interface FreeTextColumn extends AdaptableObject {
    /**
     * Id of Column
     */
    ColumnId: string;
    /**
     * Friendly Name to use to refer to Column; if unset `ColumnId` is used
     */
    FriendlyName?: string;
    /**
     * Initial value to use for each cell in the Column
     */
    DefaultValue?: any;
    /**
     * Collection of Stored Values to aplly in the Column
     */
    FreeTextStoredValues?: FreeTextStoredValue[];
    /**
     * Cell editor to use when editing a string Free Text Column
     * @defaultValue 'Inline'
     */
    TextEditor?: 'Inline' | 'Large';
    /**
     * Additional optional properties for Column (e.g. filterable, resizable)
     */
    FreeTextColumnSettings: FreeTextColumnSettings;
}
/**
 * Defines a cell value stored in a Free Text Column
 */
export interface FreeTextStoredValue {
    /**
     * Primary Key Column value for the row
     */
    PrimaryKey: any;
    /**
     * Value to store in the cell
     */
    FreeText: any;
}
/**
 * Set of optional properties that define a FreeText Columns behaviour
 */
export interface FreeTextColumnSettings extends SpecialColumnSettings {
}
