import { TypedData } from '@starknet-io/types-js';
import { Call, InvocationsSignerDetails, Signature, constants } from 'starknet';
import { ArgentServiceSignatureResponse, OffChainSession, SessionKey } from './session.types';
import { Network } from './outsideExecution.types';

interface ArgentSignTxAndSessionParams {
    sessionKey: SessionKey;
    authorisationSignature: Signature;
    argentSessionServiceBaseUrl?: string;
    calls: Call[];
    transactionsDetail: InvocationsSignerDetails;
    sessionTypedData: TypedData;
    sessionSignature: bigint[];
    cacheAuthorisation: boolean;
}
export declare const argentSignTxAndSession: ({ sessionKey, authorisationSignature, argentSessionServiceBaseUrl, calls, transactionsDetail, sessionTypedData, sessionSignature, cacheAuthorisation, }: ArgentSignTxAndSessionParams) => Promise<ArgentServiceSignatureResponse>;
interface ArgentSignSessionEFOParams {
    sessionKey: SessionKey;
    authorisationSignature: Signature;
    argentSessionServiceBaseUrl?: string;
    sessionTokenToSign: OffChainSession;
    accountAddress: string;
    currentTypedData: TypedData;
    sessionSignature: bigint[];
    cacheAuthorisation: boolean;
    chainId: constants.StarknetChainId;
    network?: Network;
}
export declare const argentSignSessionEFO: ({ sessionKey, authorisationSignature, argentSessionServiceBaseUrl, sessionTokenToSign, accountAddress, currentTypedData, sessionSignature, cacheAuthorisation, chainId, network, }: ArgentSignSessionEFOParams) => Promise<ArgentServiceSignatureResponse>;
export {};
