import { type Account, type Address, type Chain, type Hex, type LocalAccount, type OneOf, type Transport, type UnionPartialBy, type WalletClient } from "viem";
import type { UserOperation } from "viem/account-abstraction";
import type { EthereumProvider } from "../../utils/toOwner.js";
import { type SafeVersion } from "./toSafeSmartAccount.js";
export declare function signUserOperation(parameters: UnionPartialBy<UserOperation, "sender"> & {
    version: SafeVersion;
    entryPoint: {
        address: Address;
        version: "0.6" | "0.7";
    };
    owners: Account[];
    account: OneOf<EthereumProvider | WalletClient<Transport, Chain | undefined, Account> | LocalAccount>;
    chainId: number;
    signatures?: Hex;
    validAfter?: number;
    validUntil?: number;
    safe4337ModuleAddress?: Address;
}): Promise<`0x${string}`>;
//# sourceMappingURL=signUserOperation.d.ts.map