import { type Permissions, type Provider } from 'everscale-inpage-provider';
import { type NekotonConnector } from './core';
export type Account = Permissions['accountInteraction'];
export declare enum ConnectionType {
    NEKOTON_WALLET = "NEKOTON_WALLET",
    NEKOTON_ADAPTER = "NEKOTON_ADAPTER",
    EXTERNAL_APP = "EXTERNAL_APP"
}
export type TvmProviderAvailablePlatforms = 'ios' | 'android' | 'chromeExtension' | 'firefoxExtension';
export type TvmProviderPlatformLinks = Partial<Record<TvmProviderAvailablePlatforms, string>>;
export interface TvmWalletProviderConfig {
    connector: NekotonConnector;
    info: {
        description?: string;
        icon?: string;
        links?: TvmProviderPlatformLinks & {
            homepage?: string;
            universalLink?: string;
        };
        name: string;
    };
    id: string;
    isRecent?: boolean;
    minVersion?: string;
}
export declare enum TvmWalletRdnsList {
    SPARX_WALLET = "com.sparxwallet",
    SPARX_WALLET_MOBILE = "com.broxus.sparx.app",
    EVER_WALLET = "net.everwallet",
    EVER_WALLET_MOBILE = "com.broxus.crystal.app",
    VENOM_WALLET = "com.venomwallet",
    VENOM_WALLET_MOBILE = "com.venom.wallet"
}
export declare enum TvmProviderEvent {
    REQUEST_PROVIDER = "tvm:requestProvider",
    ANNOUNCE_PROVIDER = "tvm:announceProvider"
}
export interface TvmAnnounceProviderEvent extends CustomEvent {
    type: TvmProviderEvent.ANNOUNCE_PROVIDER;
    detail: TvmProviderDetail;
}
export interface TvmProviderDetail {
    info: TvmProviderInfo;
    provider: Provider;
}
export interface TvmProviderInfo {
    name: string;
    rdns?: string;
}
