import { AddItemProps } from '@wix/design-system';
import React, { ReactElement } from 'react';
import { FiltersMap } from '@wix/bex-core';
import { GridFoldersState } from '../../state';
import { ActionCell } from '../ActionCell';
import { SupportedCardGalleryItemProps } from './SupportedCardGalleryItemProps';
import { GridFoldersPresetProps } from './GridFolders.types';
import { GridItemBaseProps } from './GridItemBaseProps';
import { ToolbarCollectionBaseProps } from '../ToolbarCollection';
import { PartialAllFilters } from '../../state/FoldersAndItemsCollectionsState';
export interface GridFoldersBaseProps<T1, F1 extends FiltersMap, T2, F2 extends FiltersMap> extends Omit<ToolbarCollectionBaseProps<T1, PartialAllFilters<F1, F2>>, 'topNotification'>, GridItemBaseProps<T1, F1> {
    dataHook?: string;
    /** A GridFoldersState instance created using [useGridFolders](./?path=/story/base-components-collections-gridfolders-usegridfolders--usegridfolders). */
    state: GridFoldersState<T1, F1, T2, F2>;
    /** Optional custom title for the items section */
    itemsSectionTitle?: string;
    foldersSectionTitle?: string;
    /** Same as `renderItem`, but for a folder item. */
    renderFolderItem?: (item: T2, index: number) => Partial<SupportedCardGalleryItemProps>;
    /** Same as `preset` but for a folder item */
    folderPreset?: 'full' | 'title';
    /** Same as `actionCell`, but for a folder item. */
    folderActionCell?: ActionCell<T2, F2>;
    /** Same as `renderAddItem`, but for a folder item. */
    renderFolderAddItem?: () => ReactElement<AddItemProps>;
    topNotification?: ReactElement;
}
export type GridFoldersBasePropsWithoutPreset<T1, F1 extends FiltersMap, T2, F2 extends FiltersMap> = Omit<GridFoldersBaseProps<T1, F1, T2, F2>, 'preset' | 'folderPreset' | 'renderItem' | 'renderFolderItem'>;
export type GridFoldersProps<T1, F1 extends FiltersMap, T2, F2 extends FiltersMap> = GridFoldersPresetProps<T1, T2, GridFoldersBasePropsWithoutPreset<T1, F1, T2, F2>>;
declare function _GridFolders<T1, F1 extends FiltersMap, T2, F2 extends FiltersMap>(props: GridFoldersProps<T1, F1, T2, F2>): React.JSX.Element;
export declare const GridFolders: typeof _GridFolders & {
    displayName: string;
};
export {};
//# sourceMappingURL=GridFolders.d.ts.map