import { Contract } from 'ethers'; import type { types } from '@abacus-network/utils'; import { Connection } from './types'; export declare enum ProxyKind { UpgradeBeacon = "UpgradeBeacon" } export interface ProxyAddresses { kind: Kind; proxy: types.Address; implementation: types.Address; } export declare function isProxyAddresses(addresses: unknown): addresses is ProxyAddresses; export interface BeaconProxyAddresses extends ProxyAddresses { beacon: types.Address; } export declare class ProxiedContract> { readonly contract: C; readonly addresses: A; constructor(contract: C, addresses: A); get address(): string; connect(connection: Connection): ProxiedContract; } //# sourceMappingURL=proxy.d.ts.map