import type { ColumnSizingDefinition } from '../../../../AdaptableState/LayoutState';
import type { ColumnSort, Layout } from '../../../../../types';
export declare const COLUMN_PINNING_OPTIONS: {
    value: 'left' | 'right' | 'None';
    label: string;
}[];
export declare const COLUMN_SORT_OPTIONS: {
    value: ColumnSort['SortOrder'] | 'None';
    label: string;
}[];
export type ColumnDefaultWidthResolver = (columnId: string) => number;
export declare function getLayoutPinnedColumnIds(layout: Layout, side: 'left' | 'right'): string[];
/** Whether this column has sizing stored in the Layout that differs from grid defaults. */
export declare function hasExplicitLayoutSizing(columnId: string, sizing: ColumnSizingDefinition | undefined, resolveDefaultWidth?: ColumnDefaultWidthResolver): boolean;
export declare function getLayoutExplicitSizedColumnIds(layout: Layout, resolveDefaultWidth?: ColumnDefaultWidthResolver): string[];
export declare function formatColumnSizingBrief(columnId: string, sizing: ColumnSizingDefinition | undefined, resolveDefaultWidth?: ColumnDefaultWidthResolver): string;
/** Width/flex values to show in the sizing editor (default grid widths are omitted). */
export declare function getExplicitSizingDisplayValues(columnId: string, sizing: ColumnSizingDefinition | undefined, resolveDefaultWidth?: ColumnDefaultWidthResolver): {
    width: number | undefined;
    flex: number | undefined;
    minWidth: number | undefined;
    maxWidth: number | undefined;
};
export declare function formatColumnInspectorPinning(layout: Layout, columnId: string): string;
export declare function formatColumnInspectorSizing(columnId: string, sizing: ColumnSizingDefinition | undefined, resolveDefaultWidth?: ColumnDefaultWidthResolver): string;
export declare function formatColumnInspectorSorting(layout: Layout, columnId: string): string;
export declare function getColumnSortSelection(layout: Layout, columnId: string): ColumnSort['SortOrder'] | 'None';
export declare function applyColumnPinChange(layout: Layout, columnId: string, pinning: 'left' | 'right' | null): Layout;
export declare function applyColumnSortChange(layout: Layout, columnId: string, sortOrder: ColumnSort['SortOrder'] | 'None'): Layout;
export declare function applyColumnSizingFieldChange(layout: Layout, columnId: string, field: 'width' | 'flex' | 'minWidth' | 'maxWidth', value: number | undefined, resolveDefaultWidth: ColumnDefaultWidthResolver): Layout;
