import { Abi, DeclareSignerDetails, DeployAccountSignerDetails, Invocation, InvocationsSignerDetails, Signature, SignerInterface } from 'starknet';
import { TypedData } from '@starknet-io/types-js';
import { IStarknetRpc } from './starknet.model';

export declare class StarknetRemoteSigner implements SignerInterface {
    private wallet;
    constructor(wallet: IStarknetRpc);
    getPubKey(): Promise<string>;
    signMessage(typedData: TypedData, accountAddress: string): Promise<Signature>;
    signTransaction(_transactions: Invocation[], _transactionsDetail: InvocationsSignerDetails, _abis?: Abi[]): Promise<Signature>;
    signDeployAccountTransaction(_transaction: DeployAccountSignerDetails): Promise<Signature>;
    signDeclareTransaction(_transaction: DeclareSignerDetails): Promise<Signature>;
}
