import React, { PureComponent } from 'react';
import { TableProps as ReactTableProps } from 'react-table';
import { SelectTableAdditionalProps } from 'react-table/lib/hoc/selectTable';
import { FeatureFlagsContext } from '../FeatureFlags';
export interface ReactTablev6Props extends Partial<ReactTableProps>, Partial<SelectTableAdditionalProps> {
    /**
     * Toggles the condensed styling for the table.
     */
    condensed?: boolean;
    /**
     * Toggles the column of checkboxes that make rows selectable.
     */
    selectable?: boolean;
    /**
     * Text to display for the dropdown controlling page size. Default: 'Per Page'
     */
    perPageLabelText?: string;
    /**
     * Text to display in the component that allows jumping to specific text. Default: 'Go To'
     */
    goToLabelText?: string;
    /**
     *  The unique accessor property in order to render the select field for a particular row.
     */
    keyField?: string;
}
type State = {
    resolvedData: any;
    entireHeaderHeight: number;
    selectAll: boolean;
    selection: string[];
};
export declare class ReactTablev6 extends PureComponent<ReactTablev6Props> {
    static contextType: React.Context<Required<import("../FeatureFlags").FeatureFlagsConfig>>;
    context: React.ContextType<typeof FeatureFlagsContext>;
    tableRef: any;
    containerRef: React.RefObject<HTMLDivElement>;
    state: State;
    componentDidMount(): void;
    componentDidUpdate(prevProps: ReactTablev6Props): void;
    setMeasurements: () => void;
    getVisibleData: () => any;
    getPaginationProps: () => {
        condensed: boolean | undefined;
        perPageLabelText: string | undefined;
        goToLabelText: string | undefined;
    };
    getTableRef: (tableRef: any) => void;
    getTheadThProps: (state: any, _row: any, column: any) => {
        sortable: any;
        sorted: any;
    };
    getSharedProps: ({ loading, condensed, filterable, }: {
        loading: boolean;
        condensed: boolean;
        filterable: boolean;
    }) => {
        loading: boolean;
        entireHeaderHeight: number;
        condensed: boolean;
        filterable: boolean;
    };
    toggleSelection: (key: string) => void;
    toggleAll: () => void;
    isSelected: (key: string) => boolean;
    render(): React.JSX.Element;
}
export {};
//# sourceMappingURL=ReactTablev6.d.ts.map