import { providers } from 'ethers';
import { ExtendedFacetCut } from './upgrade';
export interface DeploymentCache {
    timestamp: number;
    network: string;
    chainId: number;
    coreFacets: {
        [name: string]: {
            address: string;
            deploymentHash?: string;
        };
    };
    modules: {
        [name: string]: {
            address: string;
            deploymentHash?: string;
        };
    };
    cuts: ExtendedFacetCut[];
    constructorArgs?: Record<string, any>;
    diamondAddress?: string;
}
export interface CacheManagerConfig {
    network?: string;
    rpcUrl?: string;
    provider?: providers.JsonRpcProvider;
    paths?: {
        cache?: string;
    };
}
export interface CacheManager {
    save(cache: DeploymentCache): Promise<void>;
    load(): Promise<DeploymentCache | null>;
    exists(): Promise<boolean>;
    clear(): Promise<void>;
}
//# sourceMappingURL=cache.d.ts.map