export default abstract class BaseComponent {
    abstract element: HTMLElement;
    /**
     *
     * @param parent Si pas d'élément spécifié le body est pris par défaut
     * @returns
     */
    render(parent?: HTMLElement | BaseComponent): Promise<void>;
    /**
      WIP
    */
    onInit: () => void;
    remove(parent?: HTMLElement | BaseComponent): Promise<void>;
    /**
      WIP
    */
    resetTextEvent: (text: string) => void;
    /**
      WIP
    */
    classListUpdate(element: HTMLElement, className: string, add: boolean): void;
    /**
     * Permet d'attendre que l'élément HTML soit vraiment disponible dans le DOM
     * @param itemId Id de l'élément HTML
     * @returns HTMLElement
     */
    waitForRendering(itemId: string): Promise<HTMLElement | null>;
}
//# sourceMappingURL=index.d.ts.map