import type { ContractInfo, EngineBinding } from './binding.js';
import type { ForceImportOptions } from './options.js';
/**
 * How the imported address was classified, so the binding can attach the right instance: a proxy
 * and a plain implementation both attach the named contract, while a beacon attaches a beacon.
 */
export type ForceImportClassification = 'proxy' | 'beacon' | 'impl';
/**
 * Client-neutral orchestration of `forceImport`: records the implementation (and, for a proxy, the
 * proxy itself) in the manifest, and reports how the address was classified.
 */
export declare function forceImport(binding: EngineBinding, address: string, implInfo: ContractInfo, opts: ForceImportOptions): Promise<ForceImportClassification>;
//# sourceMappingURL=force-import.d.ts.map