import { Abi, AccountInterface, AllowArray, Call, DeclareContractPayload, DeclareContractResponse, DeployContractResponse, InvocationsDetails, InvokeFunctionResponse, ProviderInterface, SignerInterface, UniversalDetails, Account } from 'starknet';
import { IStarknetRpc } from './starknet.model';

export declare class StarknetRemoteAccount extends Account implements AccountInterface {
    private wallet;
    constructor(provider: ProviderInterface, address: string, signer: SignerInterface, wallet: IStarknetRpc);
    execute(transactions: AllowArray<Call>, abisOrDetails?: Abi[] | UniversalDetails, transactionsDetail?: UniversalDetails): Promise<InvokeFunctionResponse>;
    declare(_contractPayload: DeclareContractPayload, _transactionsDetail?: InvocationsDetails | undefined): Promise<DeclareContractResponse>;
    deployAccount(_contractPayload: any, _transactionsDetail?: InvocationsDetails | undefined): Promise<DeployContractResponse>;
}
