import React from 'react';
import { QueryBundleRequest, QueryResultBundle, Row } from '@sage-bionetworks/synapse-types';
import { ReactNode } from 'react';
export type TopLevelControlsProps = {
    name?: string;
    hideDownload?: boolean;
    hideVisualizationsControl?: boolean;
    hideFacetFilterControl?: boolean;
    hideQueryCount?: boolean;
    hideSqlEditorControl?: boolean;
    customControls?: CustomControl[];
    showColumnSelection?: boolean;
    cavaticaConnectAccountURL?: string;
    remount?: () => void;
};
export type Control = {
    key: string;
    icon: string;
    tooltipText: string;
};
export type CustomControlCallbackData = {
    tableId: string;
    queryMetadata: Omit<QueryResultBundle, 'queryResult'> | undefined;
    selectedRows: Row[] | undefined;
    refresh: () => void;
    request?: QueryBundleRequest;
};
export type CustomControl = {
    buttonText: string;
    onClick: (event: CustomControlCallbackData) => void;
    classNames?: string;
    icon?: ReactNode;
    buttonID?: string;
    title?: string;
    description?: string;
};
declare const TopLevelControls: (props: TopLevelControlsProps) => React.ReactNode;
export default TopLevelControls;
//# sourceMappingURL=TopLevelControls.d.ts.map