import { AdaptableForm, AdaptableObject } from '../../types';
import { FormContext } from '../AdaptableState/Common/FormContext';
/**
 * Options to provide Data Sets
 */
export interface DataSetOptions<TData = any> {
    /**
     * Collection of Data Sets to provide Data to AdapTable
     */
    dataSets?: DataSet[];
}
/**
 * Defines a Data Set object that can provide data to AdapTable
 */
export interface DataSet extends AdaptableObject {
    /**
     * Name of Data Set
     */
    name: string;
    /**
     * Describes the Data Set
     */
    description: string;
    /**
     * Params for Data Set popup form
     */
    form?: AdaptableForm<DataSetFormContext>;
    /**
     * Additional info for Data Set
     */
    info?: Record<string, string | number | boolean | Date>;
}
/**
 * Used when a DataSet displays a Form
 */
export interface DataSetFormContext extends FormContext {
    /**
     * The DataSet which triggered the Form
     */
    dataSet: DataSet;
}
