import * as t from '@rekajs/types'; import { Reka } from './reka'; type FrameComponentConfig = { name: string; external?: boolean; props?: Record; }; export type FrameOpts = { id?: string; component: FrameComponentConfig; syncImmediately?: boolean; evaluateImmediately?: boolean; }; /** Creates a Frame that computes an output View tree for a Component instance. You should not create this instance manually. Instead, use Reka.createFrame(...) */ export declare class Frame { readonly opts: FrameOpts; readonly reka: Reka; id: string; sync: boolean; private evaluator; constructor(opts: FrameOpts, reka: Reka); get componentName(): string; get component(): t.Component | null; get view(): t.FrameView; getViewFromId(id: string, expectedType?: t.TypeConstructor): T; getParentView(view: t.View, expectedParentType?: t.TypeConstructor): T | null; enableSync(): void; disableSync(): void; compute(evaluateImmediately?: boolean, cb?: () => void): void | Promise; setProps(props: Record): void; get listenToChangeset(): (listener: import("./observer").ChangesetListener) => () => void; dispose(): void; getViewsForTpl(template: t.Template): t.View[]; } export {};