import { Address, TransactionEIP7702 } from 'viem';
import { SignedAuthorization, SignedAuthorizationList } from 'viem/experimental';
export type RecoveredAuthorizationMap = Record<Address, SignedAuthorization>;
export declare class Delegation {
    /**
     * Recovers the signers of each authorization within the list sent in the transaction
     * @dev this can also return just the contractAddress each signer is delegated to
     * @param transaction : TransactionEIP7702
     * @returns : Promise<RecoveredAuthorizationMap>
     */
    static parseAuthorizationListFromTransaction(transaction: TransactionEIP7702): Promise<RecoveredAuthorizationMap>;
    /**
     * Recovers the signers of each authorization in the list
     * @param authorizationList : SignedAuthorizationList
     * @returns : Promise<RecoveredAuthorizationMap>
     */
    static parseAuthorizationList(authorizationList: SignedAuthorizationList): Promise<RecoveredAuthorizationMap>;
    static parseFromCode(code: `0x${string}`): Address;
}
