import { Inspector, ProtocolComponent, ProtocolCustomModel, ProtocolExecutionPosition, ProtocolExpression, ProtocolExpressionError, ProtocolExpressionUpdate, ProtocolModel, ProtocolModelUpdate, ProtocolNode, ProtocolParent, ProtocolReference, ProtocolReferenceError, ProtocolReferenceUpdate, ProtocolState, ProtocolStore, ProtocolTag, ProtocolRouterActionCall, ProtocolRouterStateChange, ProtocolRouterTargetResult, ProtocolRoutes, ProtocolSlotError, ProtocolFunctionCall, ProtocolFunctionResult, ProtocolFunctionError, ProtocolEventTrigger, ProtocolComposeTime, ProtocolError, DestroyData } from "vasille/dev";
export declare abstract class AbstractInspector implements Inspector {
    addContextState(state: ProtocolState): void;
    composeTime(time: ProtocolComposeTime): void;
    createComponent(comp: ProtocolComponent): void;
    createCustomModel(model: ProtocolCustomModel): void;
    createModel(model: ProtocolModel): void;
    createNode(node: ProtocolNode): void;
    createStore(store: ProtocolStore): void;
    createTag(tag: ProtocolTag): void;
    destroy(data: DestroyData): void;
    eventTrigger(call: ProtocolEventTrigger): void;
    functionCall(call: ProtocolFunctionCall): void;
    functionReturn(result: ProtocolFunctionResult): void;
    functionThrows(error: ProtocolFunctionError): void;
    newExpression(expr: ProtocolExpression): void;
    newReference(ref: ProtocolReference): void;
    registerExecutionPosition(pos: ProtocolExecutionPosition): void;
    registeredRoutes(routes: ProtocolRoutes): void;
    reportComponentError(error: ProtocolError): void;
    reportComponentSlotError(error: ProtocolSlotError): void;
    reportError(err: ProtocolError): void;
    reportExpressionCalculationError(error: ProtocolExpressionError): void;
    reportReferenceError(error: ProtocolReferenceError): void;
    routerActionCall(call: ProtocolRouterActionCall): void;
    routerStateChange(change: ProtocolRouterStateChange): void;
    routerTargetResult(data: ProtocolRouterTargetResult): void;
    setElementParent(parent: ProtocolParent): void;
    updateExpression(update: ProtocolExpressionUpdate): void;
    updateModel(update: ProtocolModelUpdate): void;
    updateReference(update: ProtocolReferenceUpdate): void;
    protected abstract send(name: string, data: object): void;
}
export declare class EarlyInspector extends AbstractInspector {
    protected inspector: Inspector | undefined;
    protected queue: [string, object][];
    connect(inspector: Inspector): void;
    protected send(name: string, data: object): void;
}
export declare const earlyInspector: EarlyInspector;
