import { Signer } from "ethers";
import { Bytes } from "ethers/lib/utils";
import { BaseValidationModuleConfig, ModuleInfo } from "./utils/Types";
import { IValidationModule } from "./interfaces/IValidationModule";
import { WalletClientSigner } from "@alchemy/aa-core";
export declare abstract class BaseValidationModule implements IValidationModule {
    entryPointAddress: string;
    constructor(moduleConfig: BaseValidationModuleConfig);
    abstract getAddress(): string;
    setEntryPointAddress(entryPointAddress: string): void;
    abstract getInitData(): Promise<string>;
    abstract getDummySignature(_params?: ModuleInfo): Promise<string>;
    abstract getSigner(): Promise<Signer | WalletClientSigner>;
    abstract signUserOpHash(_userOpHash: string, _params?: ModuleInfo): Promise<string>;
    abstract signMessage(_message: Bytes | string | Uint8Array): Promise<string>;
    signMessageWalletClientSigner(message: string | Uint8Array, signer: WalletClientSigner): Promise<string>;
    signMessageSigner(message: Bytes | string, signer: Signer): Promise<string>;
}
