import { LitElement, TemplateResult } from "lit";
import { UseElement } from "./element/types/use-element.js";
export declare abstract class MagicElement extends LitElement {
    #private;
    abstract realize(use: UseElement<typeof this>): TemplateResult | void;
    protected get use(): UseElement<this>;
    firstUpdated(): void;
    disconnectedCallback(): void;
    render(): TemplateResult | void;
}
