import type { ActionMenuProps } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase/collections/components/ActionMenu";
import type { IconProps } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase/ui";
import type { CollectionItem, SearchResult } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api";
import type { SortableColumnHeaderProps } from "./BaseItemsTable";
type HeaderProps = Omit<SortableColumnHeaderProps, "name">;
export declare const Columns: {
    Select: {
        Col: () => import("react/jsx-runtime").JSX.Element;
        Header: ({ selectedItems, hasUnselected, onSelectAll, onSelectNone, }: {
            selectedItems?: (CollectionItem | SearchResult)[];
            hasUnselected?: boolean;
            onSelectAll?: () => void;
            onSelectNone?: () => void;
        }) => import("react/jsx-runtime").JSX.Element;
        Cell: ({ testIdPrefix, icon, isPinned, isSelected, handleSelectionToggled, }: {
            testIdPrefix: string;
            icon: IconProps;
            isPinned?: boolean;
            isSelected?: boolean;
            handleSelectionToggled: () => void;
        }) => import("react/jsx-runtime").JSX.Element;
    };
    Type: {
        Col: () => import("react/jsx-runtime").JSX.Element;
        Header: ({ sortingOptions, onSortingOptionsChange, title, }: HeaderProps) => import("react/jsx-runtime").JSX.Element;
        Cell: ({ testIdPrefix, icon, isPinned, }: {
            testIdPrefix?: string;
            icon: IconProps;
            isPinned?: boolean;
        }) => import("react/jsx-runtime").JSX.Element;
    };
    Name: {
        Col: ({ isInDragLayer }: {
            isInDragLayer: boolean;
        }) => import("react/jsx-runtime").JSX.Element;
        Header: ({ sortingOptions, onSortingOptionsChange }: HeaderProps) => import("react/jsx-runtime").JSX.Element;
        Cell: ({ item, testIdPrefix, includeDescription, onClick, }: {
            item: CollectionItem;
            testIdPrefix?: string;
            includeDescription?: boolean;
            onClick?: (item: CollectionItem) => void;
        }) => import("react/jsx-runtime").JSX.Element;
    };
    LastEditedBy: {
        Col: () => import("react/jsx-runtime").JSX.Element;
        Header: ({ sortingOptions, onSortingOptionsChange, isTrashed, }: HeaderProps & {
            isTrashed: boolean;
        }) => import("react/jsx-runtime").JSX.Element;
        Cell: ({ testIdPrefix, item, }: {
            testIdPrefix?: string;
            item: CollectionItem;
        }) => import("react/jsx-runtime").JSX.Element;
    };
    LastEditedAt: {
        Col: () => import("react/jsx-runtime").JSX.Element;
        Header: ({ sortingOptions, onSortingOptionsChange, isTrashed, }: HeaderProps & {
            isTrashed: boolean;
        }) => import("react/jsx-runtime").JSX.Element;
        Cell: ({ testIdPrefix, item, }: {
            testIdPrefix: string;
            item: CollectionItem;
        }) => import("react/jsx-runtime").JSX.Element;
    };
    ActionMenu: {
        Header: () => import("react/jsx-runtime").JSX.Element;
        Col: () => import("react/jsx-runtime").JSX.Element;
        Cell: ({ item, collection, databases, bookmarks, onCopy, onMove, createBookmark, deleteBookmark, }: ActionMenuProps) => import("react/jsx-runtime").JSX.Element;
    };
    /** Applies a border-radius to the right edge of the table.
     * This is needed since columns can be hidden responsively,
     * and so we can't just apply the border-radius to the last column in the DOM */
    RightEdge: {
        Header: () => import("react/jsx-runtime").JSX.Element;
        Col: () => import("react/jsx-runtime").JSX.Element;
        Cell: () => import("react/jsx-runtime").JSX.Element;
    };
};
export {};
