import { DataGrid } from '../ocpd-common-components';
import { OcpdStringLocalizationHelper } from '../singletons/ocpd-string-localization';
import { OcpdComponentRegister } from '../singletons/ocpd-component-register';
import { OcpdAvailableComponents } from '../ocpd-common-components';
import { OcpdItemManagerHelper } from '../singletons/ocpd-item-manager-helper';
import { OcpdFormClientAPIService } from '../singletons/ocpd-form-client-api-service';
export declare class OcpdDatagridColumnChooser {
    _ocpdStringLocalizationHelper: OcpdStringLocalizationHelper;
    _ocpdComponentRegister: OcpdComponentRegister;
    _ocpdAvailableComponents: OcpdAvailableComponents;
    _ocpdItemManagerHelper: OcpdItemManagerHelper;
    _ocpdFormClientAPIService: OcpdFormClientAPIService;
    isIncludedInGridToggleEventHandler: any;
    getAddColumnsSchema(): {
        $id: string;
        title: string;
        type: string;
        properties: {
            columns: {
                type: string;
                items: {
                    $ref: string;
                };
                otUniqueItemProperties: string[];
            };
        };
        additionalProperties: boolean;
    };
    getAddColumnSchema(maximum: any): {
        $id: string;
        title: string;
        type: string;
        properties: {
            name: {
                type: string;
                maxLength: number;
                minLength: number;
                pattern: string;
                default: string;
            };
            position: {
                type: string;
                minimum: number;
                maximum: any;
            };
            isHidden: {
                type: string;
            };
            fullPropertyPath: {
                type: string;
            };
            propertyPath: {
                type: string;
            };
            'ot2mc-row-id': {
                type: string;
            };
            'ot2mc-row-selected': {
                type: string;
            };
            id: {
                type: string;
            };
            isGrid: {
                type: string;
            };
        };
        additionalProperties: boolean;
    };
    getAddColumnPanelIndex(grid: DataGrid, fullPropertyPath: string): number | "";
    isColumnAlreadyAddedToGrid(grid: DataGrid, fullPropertyPath: string): boolean;
    getColumnByPropertyPath(data: DataGrid, fullPropertyPath: string): import("../ocpd-common-components").Config;
    getAddColumnsModel(columns: any, grid: DataGrid, unboundColumns: any): {
        id: string;
        schemaId: string;
        data: {
            columns: any[];
        };
    };
    getAddColumnsUIConfig(): {
        type: string;
        id: string;
        rearrangeControlsForSmallScreens: boolean;
        inheritParentColumnCount: boolean;
        controls: {
            type: string;
            id: string;
            rearrangeControlsForSmallScreens: boolean;
            width: string;
            controls: {
                type: string;
                numberOfColumns: number;
                grid: {
                    gap: number;
                    gridTemplateRows: string;
                };
                id: string;
                controls: {
                    label: {
                        text: string;
                    };
                    gridColumnStart: number;
                    gridColumnEnd: number;
                    gridRowStart: number;
                    gridRowEnd: number;
                    noRecordsFoundMessage: any;
                    columns: ({
                        controlData: {
                            label: {
                                show: boolean;
                                text: any;
                                alignment: string;
                            };
                            dataType: string;
                            propertyPath: string;
                            isInGrid: boolean;
                            type: string;
                            readOnly: boolean;
                            id: string;
                            show?: undefined;
                        };
                        width: number;
                    } | {
                        controlData: {
                            label: {
                                show: boolean;
                                text: any;
                                alignment: string;
                            };
                            propertyPath: string;
                            isInGrid: boolean;
                            type: string;
                            id: string;
                            dataType?: undefined;
                            readOnly?: undefined;
                            show?: undefined;
                        };
                        width: number;
                    } | {
                        controlData: {
                            label: {
                                show: boolean;
                                text: any;
                                alignment: string;
                            };
                            propertyPath: string;
                            isInGrid: boolean;
                            type: string;
                            show: boolean;
                            id: string;
                            dataType?: undefined;
                            readOnly?: undefined;
                        };
                        width: number;
                    })[];
                    title: {
                        text: any;
                    };
                    customData: {
                        useInbuiltSelectionColumn: boolean;
                    };
                    singleSelection: boolean;
                    showCheckColumn: boolean;
                    showPagination: boolean;
                    propertyPath: string;
                    type: string;
                    allowAdd: boolean;
                    id: string;
                }[];
            }[];
        }[];
    };
    isIncludedInGridToggle(event: any): void;
    afterPressCallback(name: any, tagName: any): Promise<void>;
    getSelectedColumns(itemId: any): any[];
    addColumnsClosed(itemId: any, dialogElement: any, buttonUsedToClose: any): Promise<void>;
}
