/**
 * Copyright 2023 Kapeta Inc.
 * SPDX-License-Identifier: MIT
 */
import React from 'react';
import { AssetDisplay } from './types';
export declare enum AssetInstallStatus {
    NOT_INSTALLED = 1,
    UPGRADABLE = 2,
    INSTALLED = 3
}
export interface InstallerService {
    install(assetRef: string): Promise<void>;
    get(assetRef: string): Promise<AssetInstallStatus>;
    uninstall?: (assetRef: string) => Promise<void>;
    onChange?: (assetRef: string, cb: () => void | Promise<void>) => () => void;
}
interface Props {
    asset: AssetDisplay;
    type: 'icon' | 'button' | 'chip';
    service?: InstallerService;
    subscriptions?: boolean;
    contextHandle?: string;
    forceLoading?: boolean;
}
export declare const AssetInstallButton: (props: Props) => React.JSX.Element;
export {};
