/**
 * Copyright 2023 Kapeta Inc.
 * SPDX-License-Identifier: MIT
 */
import React from 'react';
import { InstallerService } from './AssetInstallButton';
import { AssetDisplay, AssetFetcher } from './types';
import { Plan } from '@kapeta/schemas';
import { Asset } from '@kapeta/ui-web-types';
import { AsyncState } from 'react-use/lib/useAsync';
import { AssetType } from './AssetTypeFilter';
export declare enum BlockhubMode {
    PAGE = 0,
    MODAL_STANDALONE = 1,
    MODAL_SELECTION = 2
}
export declare enum BlockhubCategory {
    INSTALLED = 0,
    OWN = 1,
    COMMUNITY = 2,
    PREMIUM = 3
}
interface Props {
    installerService?: InstallerService;
    plan?: Asset<Plan>;
    fetcher: AssetFetcher;
    assets: AsyncState<AssetDisplay[]>;
    mode: BlockhubMode;
    category?: BlockhubCategory;
    onCategoryChange?: (category: BlockhubCategory) => void;
    selection?: AssetDisplay[];
    disableNavigation?: boolean;
    onSelectionChange?: (selection: AssetDisplay[]) => void;
    onAssetClick?: (asset: AssetDisplay) => void;
    linkMaker?: (asset: AssetDisplay) => string;
    subscriptions?: boolean;
    contextHandle?: string;
    filter?: AssetType;
    onFilterChange: (filter: AssetType) => void;
}
export declare const Blockhub: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
export {};
