import React from 'react';
import Sortable from 'sortablejs';
import type { ColumnTogglerProps, IColumn } from '../types';
interface ColumnTogglerState {
    isOpened: boolean;
    enableSorting: boolean;
    tempColumns: any[];
}
export default class ColumnToggler extends React.Component<ColumnTogglerProps, ColumnTogglerState> {
    state: ColumnTogglerState;
    static defaultProps: Pick<ColumnTogglerProps, 'placement' | 'tooltipTrigger' | 'tooltipRootClose' | 'draggable'>;
    target: any;
    sortable?: Sortable;
    dragRefDOM: HTMLElement;
    constructor(props: ColumnTogglerProps);
    componentDidMount(): void;
    componentDidUpdate(prevProps: ColumnTogglerProps): void;
    componentWillUnmount(): void;
    domRef(ref: any): void;
    toggle(e: React.MouseEvent<any>): void;
    open(): void;
    close(): void;
    swapColumnPosition(oldIndex: number, newIndex: number): void;
    updateToggledColumn(column: IColumn, index: number, value: any, shift?: boolean): Promise<void>;
    dragRef(ref: any): void;
    initDragging(): void;
    destroyDragging(): void;
    onConfirm(): Promise<void>;
    renderOuter(): JSX.Element;
    renderModal(): JSX.Element;
    render(): JSX.Element;
}
export {};
