import { I as Implementation, T as ToMetaMaskSmartAccountParameters, a as ToMetaMaskSmartAccountReturnType, C as Caveat, R as Redemption, D as DeleGatorEnvironment } from './types-DvZXSma6.js';
export { A as AccountSignatoryConfig, k as CreateExecutionArgs, h as Delegation, E as ExecutionMode, j as ExecutionStruct, H as HybridDeleGatorDeployParams, f as HybridSignatoryConfig, d as MetaMaskSmartAccount, c as MetaMaskSmartAccountImplementation, M as MultiSigDeleGatorDeployParams, g as MultiSigSignatoryConfig, b as SignDelegationParams, S as SignUserOperationParams, W as WalletSignatoryConfig, e as WebAuthnSignatoryConfig, i as createExecution } from './types-DvZXSma6.js';
export { B as BalanceChangeType, d as Caveats, C as CreateDelegationOptions, b as CreateOpenDelegationOptions, c as createDelegation, a as createOpenDelegation, s as signDelegation } from './delegation-BLdZ1xQ7.js';
export { P as PREFERRED_VERSION, g as getDeleGatorEnvironment, s as signUserOperation } from './userOp-DaVTCgHg.js';
import { Hex, Address, WalletClient, PublicClient } from 'viem';
export { i as contracts } from './index-BRARBTCw.js';
import { c as caveatEnforcerActions } from './index-hQLgtshM.js';
export { i as actions } from './index-hQLgtshM.js';
export { ANY_BENEFICIARY, ROOT_AUTHORITY } from '@metamask/delegation-core';
import '@metamask/delegation-abis';
import 'viem/account-abstraction';
import 'viem/chains';

declare function toMetaMaskSmartAccount<TImplementation extends Implementation>(params: ToMetaMaskSmartAccountParameters<TImplementation>): Promise<ToMetaMaskSmartAccountReturnType<TImplementation>>;

declare const createCaveat: (enforcer: Hex, terms: Hex, args?: Hex) => Caveat;

declare const signatureTypes: readonly ["ECDSA"];
type SignatureType = (typeof signatureTypes)[number];
type PartialSignature = {
    signer: Address;
    signature: Hex;
    type: SignatureType;
};
declare const aggregateSignature: ({ signatures, }: {
    signatures: PartialSignature[];
}) => Hex;
type AggregateSignatureParams = {
    signatures: PartialSignature[];
};

declare const redeemDelegations: (walletClient: WalletClient, publicClient: PublicClient, delegationManagerAddress: Address, redemptions: Redemption[]) => Promise<`0x${string}`>;

type CaveatEnforcerClient = PublicClient & ReturnType<ReturnType<typeof caveatEnforcerActions>>;
declare function createCaveatEnforcerClient({ client, environment, }: {
    client: PublicClient;
    environment: DeleGatorEnvironment;
}): CaveatEnforcerClient;

export { type AggregateSignatureParams, Caveat, type CaveatEnforcerClient, DeleGatorEnvironment, Implementation, type PartialSignature, type SignatureType, ToMetaMaskSmartAccountReturnType, aggregateSignature, createCaveat, createCaveatEnforcerClient, redeemDelegations, toMetaMaskSmartAccount };
