import ModuleInfo from '../models/moduleInfo';
import VersionInfo from '../models/versionInfo';
import { Registry, RegistryConfig } from './registry';
export declare class EthRegistry implements Registry {
    isAvailable: boolean;
    error: string;
    blockchain: string;
    url: string;
    isDev: boolean;
    private _signer;
    private _moduleInfoCache;
    private _contract;
    private get _contractPromise();
    constructor({ url, isDev, signer }: RegistryConfig);
    getModuleInfo(contextIds: string[], listers: string[]): Promise<{
        [contextId: string]: ModuleInfo[];
    }>;
    getModuleInfoByName(name: string): Promise<ModuleInfo>;
    getVersionNumbers(name: string, branch: string): Promise<string[]>;
    getVersionInfo(name: string, branch: string, version: string): Promise<VersionInfo>;
    getAllDevModules({ users, }: {
        users: string[];
    }): Promise<{
        module: ModuleInfo;
        versions: VersionInfo[];
    }[]>;
    addModule(module: ModuleInfo, version: VersionInfo): Promise<void>;
    getOwnership(moduleName: string): Promise<any>;
    transferOwnership(moduleName: string, newAccount: string, oldAccount: string): Promise<void>;
    getContextIds(moduleName: string): Promise<string[]>;
    addContextId(moduleName: string, contextId: string): Promise<void>;
    removeContextId(moduleName: string, contextId: string): Promise<void>;
    getAdmins(moduleName: string): Promise<string[]>;
    addAdmin(moduleName: string, adressAdmin: string): Promise<void>;
    removeAdmin(moduleName: string, adressAdmin: string): Promise<void>;
    editModuleInfo(module: ModuleInfo): Promise<void>;
    getModuleNftUrl(moduleName: string): Promise<string>;
    private _convertFromEthMi;
    private _convertFromEthVi;
    private _convertToEthMi;
    private _convertToEthVi;
    private _convertFromEthVersion;
    private _convertToEthVersion;
    private _convertFromEthStorageRef;
    private _paginateAll;
    private _resolveEnsName;
}
