import { LocalAccountSigner, type SmartAccountSigner } from "@alchemy/aa-core"; import type { PrivateKeyAccount, SignableMessage, TypedDataDefinition } from "viem"; import { z } from "zod"; export declare const SessionKeySignerSchema: z.ZodObject<{ storageType: z.ZodDefault, z.ZodLiteral<"session-storage">]>, z.ZodType]>>; storageKey: z.ZodDefault; }, "strip", z.ZodTypeAny, { storageType: ("local-storage" | "session-storage" | Storage) & ("local-storage" | "session-storage" | Storage | undefined); storageKey: string; }, { storageType?: "local-storage" | "session-storage" | Storage | undefined; storageKey?: string | undefined; }>; export type SessionKeySignerConfig = z.input; export declare const SESSION_KEY_SIGNER_TYPE_PFX = "alchemy:session-key"; export declare class SessionKeySigner implements SmartAccountSigner> { signerType: string; inner: LocalAccountSigner; private storageType; private storageKey; constructor(config_?: SessionKeySignerConfig); getAddress: () => Promise<`0x${string}`>; signMessage: (msg: SignableMessage) => Promise<`0x${string}`>; signTypedData: (params: TypedDataDefinition) => Promise<`0x${string}`>; generateNewKey: () => `0x${string}`; }