import { CustomEventEmitter } from '../../custom';
import { RegistryItemData, RegItemRawData } from './interface';
import { RegistryItemURL } from './url';
declare class RegistryItem extends CustomEventEmitter {
    private _id;
    private _name;
    private _version;
    private _urls;
    private _loaded;
    private _isResolveUpdateUrls;
    private _updateUrls;
    private _urlOptions;
    private _evtOptions;
    error: null;
    constructor(data: string | RegistryItemData);
    readonly id: string;
    name: string | undefined;
    version: string | null;
    readonly hasVersion: boolean;
    readonly alias: string;
    readonly urls: RegistryItemURL[];
    readonly updateUrls: RegistryItemURL[];
    readonly isResolveUpdateUrls: boolean;
    readonly raw: RegItemRawData;
    readonly loaded: boolean;
    readonly changed: boolean;
    private _customEventHandle;
    private _createUrls;
    private _setUrls;
    private _setEventOptions;
    getEventOption(name: string, def?: any): any;
    hasEventOption(name: string): boolean;
    setEventOption(name: string, value: any): void;
    resolveUpdateUrls(callback: (...args: any[]) => void): void;
    clearUpdateUrls(): void;
    update(data: any, isUpdate?: boolean): void;
    test(): boolean;
    load(options?: any): this;
    unload(options?: any): this;
    emit(event: string | symbol, ...args: any[]): boolean;
    toString: () => string;
}
export { RegistryItem };
export default RegistryItem;
