import { ethers } from 'ethers';
import { DeploymentEvent, DeploymentRecord } from './types';
export declare class DeploymentTracker {
    private static instance;
    private history;
    private readonly historyPath;
    private currentDeployment?;
    private eventListeners;
    private constructor();
    static getInstance(): DeploymentTracker;
    private loadHistory;
    private saveHistory;
    startDeployment(contractName: string, constructorArgs: any[], chainId: number): Promise<void>;
    trackDeploymentSubmitted(transactionHash: string): Promise<void>;
    trackDeploymentConfirmed(address: string, receipt: ethers.providers.TransactionReceipt): Promise<void>;
    trackDeploymentFailed(error: Error): Promise<void>;
    trackVerification(address: string, success: boolean, error?: string): Promise<void>;
    addEventListener(listener: (event: DeploymentEvent) => void): void;
    removeEventListener(listener: (event: DeploymentEvent) => void): void;
    private emitEvent;
    getDeploymentHistory(): DeploymentRecord[];
    findDeployment(address: string): DeploymentRecord | undefined;
    getDeploymentsByContract(contractName: string): DeploymentRecord[];
}
//# sourceMappingURL=deployment-tracker.d.ts.map