import { Ownable } from '@hyperlane-xyz/core'; import { Address } from '@hyperlane-xyz/utils'; import { HyperlaneApp } from '../app/HyperlaneApp.js'; import { MultiProvider } from '../providers/MultiProvider.js'; import { ChainMap, ChainName } from '../types.js'; import { UpgradeConfig } from './proxy.js'; import { CheckerViolation } from './types.js'; export declare abstract class HyperlaneAppChecker, Config> { readonly multiProvider: MultiProvider; readonly app: App; readonly configMap: ChainMap; readonly violations: CheckerViolation[]; constructor(multiProvider: MultiProvider, app: App, configMap: ChainMap); abstract checkChain(chain: ChainName): Promise; check(chainsToCheck?: ChainName[]): Promise; getEvmChains(): ChainName[]; addViolation(violation: CheckerViolation): void; checkProxiedContracts(chain: ChainName, owner: Address, ownableOverrides?: Record): Promise; checkUpgrade(chain: ChainName, upgradeConfig: UpgradeConfig): Promise; private removeBytecodeMetadata; protected getOwner(owner: Address, contractName: string, ownableOverrides?: Record): Address; checkBytecode(chain: ChainName, name: string, address: string, expectedBytecodeHashes: string[], modifyBytecodePriorToHash?: (bytecode: string) => string): Promise; protected checkProxy(chain: ChainName, name: string, address: string): Promise; ownables(chain: ChainName): Promise<{ [key: string]: Ownable; }>; protected checkOwnership(chain: ChainName, owner: Address, ownableOverrides?: Record): Promise; expectViolations(violationCounts: Record): void; expectEmpty(): void; logViolationsTable(): void; } //# sourceMappingURL=HyperlaneAppChecker.d.ts.map