import type { HasProps } from "./has_props"; import type { View, ViewOf, IterViews } from "./view"; import type { Options } from "./build_views"; declare abstract class AbstractViewQuery { abstract [Symbol.iterator](): IterViews; all_views(): IterViews; query(fn: (view: View) => boolean): IterViews; query_one(fn: (view: View) => boolean): View | null; find(model: T): IterViews>; find_by_id(id: string): IterViews; find_one(model: T): ViewOf | null; find_one_by_id(id: string): View | null; get_one(model: T): ViewOf; get_one_by_id(id: string): View; find_all(model: T): ViewOf[]; find_all_by_id(id: string): View[]; select(models: T[]): ViewOf[]; } export declare class ViewQuery extends AbstractViewQuery { view: View; constructor(view: View); [Symbol.iterator](): IterViews; toString(): string; } export declare class ViewManager extends AbstractViewQuery { protected global?: ViewManager | undefined; protected readonly _roots: Set; constructor(roots?: Iterable, global?: ViewManager | undefined); toString(): string; build_view(model: T, parent?: Options>["parent"]): Promise>; get(model: T): ViewOf | null; get_by_id(id: string): ViewOf | null; add(view: View): void; delete(view: View): void; remove(view: View): void; clear(): void; get roots(): View[]; [Symbol.iterator](): IterViews; } export {}; //# sourceMappingURL=view_manager.d.ts.map