import { Signer } from "ethers";
import { Bytes } from "ethers/lib/utils";
import { ECDSAOwnershipValidationModuleConfig, ModuleVersion } from "./utils/Types";
import { BaseValidationModule } from "./BaseValidationModule";
import { WalletClientSigner } from "@alchemy/aa-core";
export declare class ECDSAOwnershipValidationModule extends BaseValidationModule {
    signer: Signer | WalletClientSigner;
    moduleAddress: string;
    version: ModuleVersion;
    private constructor();
    static create(moduleConfig: ECDSAOwnershipValidationModuleConfig): Promise<ECDSAOwnershipValidationModule>;
    getAddress(): string;
    getSigner(): Promise<Signer | WalletClientSigner>;
    getDummySignature(): Promise<string>;
    getInitData(): Promise<string>;
    signUserOpHash(userOpHash: string): Promise<string>;
    /**
     * Signs a message using the appropriate method based on the type of signer.
     *
     * @param {Bytes | string | Uint8Array} message - The message to be signed.
     * @returns {Promise<string>} A promise resolving to the signature or error message.
     * @throws {Error} If the signer type is invalid or unsupported.
     */
    signMessage(message: Bytes | string | Uint8Array): Promise<string>;
}
