import type { AdaptableColumnsContext } from '../../types';
import type { TypeHint } from './Types';
/**
 * Config used when transposing a Grid
 */
export interface TransposeConfig {
    /**
     * Column to use to do transposition
     * @defaultValue Primary Key Column
     */
    transposedColumnId?: string;
    /**
     * Hide the Transposed Column
     * @defaultValue true
     */
    hideTransposedColumn?: boolean;
    /**
     * Autosize columns in transposed view
     * @defaultValue true
     */
    autosize?: boolean;
    /**
     * ColumnIds of Columns to Transpose
     * @defaultValue all Columns in Grid
     */
    columnsToTranspose?: string[] | ((context: AdaptableColumnsContext) => string[]);
    /**
     * Rows to Transpose: All, VisibleOnly or via an Expression
     * @defaultValue All
     */
    rowsToTranspose?: TypeHint<string, 'VisibleOnly' | 'All'>;
}
