import { type Account, type Address, type Chain, type Hex } from 'viem'; import type { WebAuthnAccount } from 'viem/account-abstraction'; import { type ResolvedSessionSignerSet } from '../../modules/validators/smart-sessions'; import type { OwnerSet, SignerSet } from '../../types'; declare function convertOwnerSetToSignerSet(owners: OwnerSet): SignerSet; type WebAuthnSignMetadata = { authenticatorData: Hex; challengeIndex?: number | undefined; clientDataJSON: string; typeIndex?: number | undefined; userVerificationRequired?: boolean | undefined; }; type SigningFunctions = { signEcdsa: (account: Account, params: T, updateV: boolean) => Promise; signPasskey: (account: WebAuthnAccount, params: T) => Promise<{ webauthn: WebAuthnSignMetadata; signature: Hex; }>; }; declare function signWithMultiFactorAuth(signers: SignerSet & { type: 'owner'; kind: 'multi-factor'; }, chain: Chain, address: Address, params: T, isUserOpHash: boolean, signMain: (signers: SignerSet, chain: Chain, address: Address, params: T, isUserOpHash: boolean) => Promise): Promise; declare function signWithSession(signers: ResolvedSessionSignerSet, chain: Chain, address: Address, hash: Hex, signMain: (signers: SignerSet, chain: Chain, address: Address, hash: Hex, isUserOpHash: boolean) => Promise): Promise; declare function signWithGuardians(signers: SignerSet & { type: 'guardians'; }, params: T, signingFunctions: SigningFunctions): Promise; declare function signWithOwners(signers: SignerSet & { type: 'owner'; }, chain: Chain, address: Address, params: T, signingFunctions: SigningFunctions, isUserOpHash: boolean, signMain: (signers: SignerSet, chain: Chain, address: Address, params: T, isUserOpHash: boolean) => Promise): Promise; export { convertOwnerSetToSignerSet, signWithMultiFactorAuth, signWithSession, signWithGuardians, signWithOwners, type SigningFunctions, }; //# sourceMappingURL=common.d.ts.map