import { App } from "../App.js"; import { IDisposable } from "../core/types.js"; import { viewModelInitFunc } from "./baseTypes.js"; export declare function waitForReady(vm: AtomViewModel): Promise; export declare class AtomViewModel { readonly app: App; postInit: Function[]; private disposables; private validations; private pendingInits; get isReady(): boolean; get errors(): Array<{ name: string; error: string; }>; private mChildren; private mParent; private mShouldValidate; get parent(): AtomViewModel; set parent(v: AtomViewModel); get isValid(): boolean; constructor(app: App); resetValidations(resetChildren?: boolean): void; runAfterInit(f: () => void): void; refresh(name: string): void; init(): Promise; dispose(): void; registerDisposable(d: IDisposable): IDisposable; protected onReady(): void; protected setupWatch(ft: string[][] | (() => any), proxy?: (...v: any[]) => void, forValidation?: boolean, name?: string): IDisposable; protected onPropertyChanged(name: string): void; } export declare function Receive(...channel: string[]): viewModelInitFunc; export declare function BindableReceive(...channel: string[]): viewModelInitFunc; export declare function BindableBroadcast(...channel: string[]): viewModelInitFunc; export declare function Watch(target: AtomViewModel, key: string | symbol, descriptor: any): void; export declare function CachedWatch(target: AtomViewModel, key: string, descriptor: any): void; export declare function Validate(target: AtomViewModel, key: string | symbol, descriptor: any): void; //# sourceMappingURL=AtomViewModel.d.ts.map