import { ContextMode } from '../constants'; import { BlockSchema, JSFunction, JSExpression } from '@vtj/core'; import { Provider } from '../provider'; export interface ContextOptions { mode: ContextMode; dsl?: BlockSchema; attrs?: ContextAttrs; } export interface ContextAttrs { $components?: Record; $libs?: Record; $apis?: Record; [key: string]: any; } export declare class Context { __id: string | null; __mode: ContextMode; __instance: any | null; __contextRefs: Record; __refs: Record; __refCaches: Record; context: Record; state: Record; props: Record; $props: Record; $refs: Record; $el: any; $emit: any; $nextTick: any; $parent: any; $root: any; $attrs: any; $slots: any; $watch: any; $options: any; $forceUpdate: any; $components: Record; $libs: Record; $apis: Record; $provider: Provider | null; private __transform; constructor(options: ContextOptions); setup(attrs: Record, Vue?: any): void; private __proxy; private __cleanup; private __reset; __parseFunction(code?: JSFunction): Function | undefined; __parseExpression(code?: JSExpression | JSFunction): any; __ref(id?: string | null, ref?: string | Function): any; __getRefEl(refs: Record, key: string, el: any): any; __clone(context?: Record): Context; }