import { IOBjectCache } from '../../common/data-type';
/**
 * @public
 * @class Core
 */
export declare class Core {
    protected obj: any;
    private atomClass;
    protected objectMap: Map<string, IOBjectCache>;
    /**
     * @constructor
     * @param {any} obj
     * @param {any} atomClass
     */
    constructor(obj: any, atomClass: any);
    /**
     * @protected
     * @function findFromMap
     * @param {string} key (optional)
     * @returns {Array<Record<string, any>> | {object: Record<string, any>} | undefined}
     */
    protected findFromMap(key?: string): Array<Record<string, any>> | {
        object: Record<string, any>;
    } | undefined;
    /**
     * @protected
     * @function addToMap
     * @param {string} key
     * @param {IOBjectCache} obj
     * @returns {void}
     */
    protected addToMap(key: string, obj: IOBjectCache): void;
    /**
     * @protected
     * @function removeFromMap
     * @param {string} key
     * @returns {void}
     */
    protected removeFromMap(key: string): void;
    /**
     * @protected
     * @function clearMap
     * @returns {void}
     */
    protected clearMap(): void;
    /**
     * @public
     * @function Add
     * @param {Record<string, any>} domObject
     * @returns {Record<string, any>}
     */
    Add(objs: Array<Record<string, any>>): Array<Record<string, any>>;
    /**
     * @public
     * @function Create
     * @param {{windowUIContent: IwindowUIContentType, windowStyle: IwindowStyleType}} opt
     * @returns {WindowUI}
     */
    Create(opt: Record<string, any>): Array<Record<string, any>>;
    /**
     * @public
     * @function Creates
     * @param {Array<{windowUIContent: IwindowUIContentType, windowStyle: IwindowStyleType}>} options
     * @returns {WindowUI}
     */
    Creates(opts: Array<Record<string, any>>): Array<Record<string, any>>;
    /**
     * @public
     * @function Remove
     * @param {Record<string, any>} domObject
     * @returns {void}
     */
    Remove(opts: Array<Record<string, any>>): void;
    /**
     * @public
     * @function Get
     * @param {string} id
     * @returns {Array<Record<string, any>> | {object: Record<string, any>} | undefined}
     */
    Get(id?: string): Array<Record<string, any>> | {
        object: Record<string, any>;
    } | undefined;
}
