import { Atom } from "./Atom"; export type SelectorCallback = (ctx: SelectorContext) => any; export type SelectorAsyncCallback = (...args: any) => Promise; export declare const STATEBUILD_RAW_FLAG = "__STATEBUILD_RAW__"; export declare class Selector extends Atom> { static disposableRessources: WeakMap, { dispose: Function; }[]>; selectorFn: Fn; context: SelectorContext; id: ID; constructor(selectorFn: Fn); static makeCallableSelector>(selector: A): A['selectorFn'] & A; static runRaw(selector: Selector): any; static runWithTracking(selector: Selector): any; dispose(): void; onInvalidate(callback: Function): import("../utils/EventBus").Subscription; select(...args: unknown[]): ReturnType; set(value: unknown): void; get(...args: any[]): ReturnType; } export declare class SelectorContext { selector: Selector; constructor(selector?: Selector); get: >(atom: A) => A["value"]; } export declare class Generator { static isGeneratorFunction(fn: any): boolean; static execute(generator: Generator, step?: Function): Promise; }