import { type Expression } from './expressions'; import { type Attributes, type MarkupHook, type View } from './templates'; import { Controller } from '../Controller'; export declare class ContextMeta { addBinding: (binding: any) => void; removeBinding: (binding: any) => void; removeNode: (node: Node) => void; addItemContext: (context: Context) => void; removeItemContext: (context: Context) => void; views: any; idNamespace: string; idCount: number; pending: any[]; pauseCount: number; } export declare class Context { meta: ContextMeta; controller: Controller; parent?: Context; unbound?: boolean; expression?: Expression; alias?: string; keyAlias?: string; item?: number; view?: View; attributes?: Attributes; hooks?: MarkupHook[]; initHooks?: MarkupHook[]; closure?: Context; _id?: number; _eventModels?: any; constructor(meta: ContextMeta, controller: Controller, parent?: Context, unbound?: boolean, expression?: Expression); id(): string; addBinding(binding: any): void; removeBinding(binding: any): void; removeNode(node: any): void; child(expression: any): Context; componentChild(component: any): Context; eachChild(expression: any, item: any): Context; viewChild(view: any, attributes: any, hooks: any, initHooks: any): Context; closureChild(closure: any): Context; forRelative(expression: Expression): Context; forAlias(alias: string): Context; forAttribute(attribute: string): Context; forViewParent(): Context; getView(): View; get(): any; pause(): void; unpause(): void; flush(): void; queue(cb: any): void; }