import React from "react";
export interface IWebCustomColumnDrawerProps {
    columns?: any[];
    onOk?: (columns: IWebCustomColumnDrawerProps['columns']) => void;
    onClose?: () => void;
    locale?: {
        [propKey: string]: string;
    };
    nextTablePrefix?: string;
    visible: boolean;
}
interface IWebCustomColumnDrawerState {
    defaultColumns: IWebCustomColumnDrawerProps['columns'];
    currentColumns: IWebCustomColumnDrawerProps['columns'];
}
export default class WebCustomColumnDrawer extends React.Component<IWebCustomColumnDrawerProps, IWebCustomColumnDrawerState> {
    static defaultProps: {
        columns: any[];
    };
    constructor(props: IWebCustomColumnDrawerProps);
    componentWillReceiveProps(nextProps: IWebCustomColumnDrawerProps): void;
    isHidden(dataKey: string): boolean;
    isLocked(dataKey: string): boolean;
    isAllColumnsShown(): boolean;
    handleCheck(checked: boolean, dataKey: string): void;
    handleLock(checked: boolean, dataKey: string): void;
    restoreDefault(): void;
    handleOk(): void;
    handleCheckAll(checked: boolean): void;
    renderColumnShown(value: any, record: any, hasCheckbox: boolean): JSX.Element;
    renderColumnFixed(value: any, rowIndex: string, record: any): JSX.Element;
    render(): JSX.Element;
}
export {};
