import { AccountChangeEventHandler } from '@starknet-io/get-starknet-core';
import { RequestFnCall, RpcMessage, RpcTypeToMessageMap, StarknetWindowObject } from '@starknet-io/types-js';
import { AccountInterface, ProviderInterface, ProviderOptions } from 'starknet';
import { Connector, ConnectArgs, ConnectorData, ConnectorIcons } from '../connector';
import { InjectedConnectorOptions } from '../injected';
import { isInBraavosMobileAppBrowser } from './helpers/inAppBrowser';

export declare class BraavosMobileBaseConnector extends Connector {
    private _wallet;
    constructor();
    available(): boolean;
    ready(): Promise<boolean>;
    get id(): string;
    get name(): string;
    get icon(): ConnectorIcons;
    get wallet(): StarknetWindowObject;
    connect(_args?: ConnectArgs): Promise<ConnectorData>;
    disconnect(): Promise<void>;
    account(_: ProviderOptions | ProviderInterface): Promise<AccountInterface>;
    chainId(): Promise<bigint>;
    request<T extends RpcMessage["type"]>(call: RequestFnCall<T>): Promise<RpcTypeToMessageMap[T]["result"]>;
    initEventListener(_: AccountChangeEventHandler): Promise<void>;
    removeEventListener(_: AccountChangeEventHandler): Promise<void>;
    private ensureWallet;
}
export interface BraavosMobileConnectorInitParams {
    inAppBrowserOptions?: Omit<InjectedConnectorOptions, "id">;
}
export declare class BraavosMobileConnector {
    static init(params?: BraavosMobileConnectorInitParams): Connector;
}
export { isInBraavosMobileAppBrowser };
