/**
 * Copyright 2023 Kapeta Inc.
 * SPDX-License-Identifier: MIT
 */
import { Plan } from '@kapeta/schemas';
import React from 'react';
import { AsyncState } from 'react-use/lib/useAsync';
import { AssetDisplay, AssetFetcher } from './types';
import { BlockhubCategory } from './Blockhub';
import { InstallerService } from './AssetInstallButton';
import { BlockHubDetailsPreviewer } from './BlockhubDetails';
import { Asset } from '@kapeta/ui-web-types';
import { AssetType } from './AssetTypeFilter';
interface Props {
    open: boolean;
    plan?: Asset<Plan>;
    installerService: InstallerService;
    fetcher: AssetFetcher;
    assets: AsyncState<AssetDisplay[]>;
    previewRenderer?: BlockHubDetailsPreviewer;
    category?: BlockhubCategory;
    onCategoryChange?: (category: BlockhubCategory) => void;
    onSelect?: (selection: AssetDisplay[]) => void;
    onClose: () => void;
    filter?: AssetType;
    onFilterChange: (filter: AssetType) => void;
}
export declare const BlockhubModal: (props: Props) => React.JSX.Element;
export {};
