import type { StorageProvider, CallProvider } from "./providers.js"; export interface ProxyResolver { readonly name: string; resolve(provider: StorageProvider | CallProvider, address: string, selector?: string): Promise; toString(): string; } export declare class BaseProxyResolver { name: string; constructor(name?: string); toString(): string; } export declare class GnosisSafeProxyResolver extends BaseProxyResolver implements ProxyResolver { resolve(provider: StorageProvider, address: string): Promise; } export declare class LegacyUpgradeableProxyResolver extends BaseProxyResolver implements ProxyResolver { resolve(provider: StorageProvider, address: string): Promise; } export declare class EIP1967ProxyResolver extends BaseProxyResolver implements ProxyResolver { name: string; resolve(provider: StorageProvider & CallProvider, address: string): Promise; } export declare class DiamondProxyResolver extends BaseProxyResolver implements ProxyResolver { name: string; readonly storageSlot: string; readArrayLimit: number; constructor(name: string, overrideStorageSlot?: string); resolve(provider: StorageProvider & CallProvider, address: string, selector: string): Promise; facets(provider: StorageProvider, address: string, config?: { limit: number; }): Promise>; selectors(provider: StorageProvider, address: string): Promise; } export declare class ZeppelinOSProxyResolver extends BaseProxyResolver implements ProxyResolver { name: string; resolve(provider: StorageProvider, address: string): Promise; } export declare class PROXIABLEProxyResolver extends BaseProxyResolver implements ProxyResolver { name: string; resolve(provider: StorageProvider, address: string): Promise; } export declare class SequenceWalletProxyResolver extends BaseProxyResolver implements ProxyResolver { name: string; resolve(provider: StorageProvider, address: string): Promise; } export declare class FixedProxyResolver extends BaseProxyResolver implements ProxyResolver { name: string; readonly resolvedAddress: string; constructor(name: string, resolvedAddress: string); resolve(provider: StorageProvider, address: string): Promise; } export declare const slots: Record; export declare const slotResolvers: Record;