/**  
 * @since Last modified: 2024/03/04 15:57:45
 * @class Base
 * @description Basic class, you can extend any subclasses.
 * @param {getEl} elem - The target node.The writing is the same as getEl.
 * @param {Object} [options] - The parameters 
 * @see {@link https://codepen.io/axui/pen/rNPbdWG|demo @ codepen}
 * @example
 * class demo extends base{};
 */
import { T_opt_base } from "../../../types/ax";
class Base {
    targetEl: any;
    options: T_opt_base;
    destroyed: boolean;
    constructor(elem: any, options: T_opt_base) {
        this.targetEl = null;
        this.options = {}
        this.destroyed = false;
    }
    /**
     * @description Initialization instance.No parameters.
     * @param {fn_cb_init} [cb] - Call back after initialization.
     * @returns {*} Return the instance itself.
     */
    init(cb?: T_fn): any { }
    /**
   * @callback fn_cb_init
   * @description Execute a function after initialization.
   * @returns null.
   */
    /**
     * @description Destroy instance and prohibit use.
     * @param {fn_cb_destroy} [cb] - Call back after destroy.
     * @returns {*} Return the instance itself
     */
    destroy(cb?: T_fn): any { }
    /**
     * @callback fn_cb_destroy
     * @description Execute a function after destroy.
     * @returns null.
     */
}
export default Base;
