import { Scope, ScopeFn, Subscribe, Unsub } from "./abstractions"; export declare type MutableScope = Scope & { start: () => void; end: () => void; }; export declare const globalScope: Scope; export declare function mkScope(scopeFn: ScopeFn): Scope; export declare function createScope(): MutableScope; export declare function intersectionScope(scopes: Scope[]): Scope; export declare const beforeScope: {}; export declare const afterScope: {}; export declare type OutOfScope = typeof beforeScope | typeof afterScope; export declare function checkScope(thing: any, value: V | OutOfScope): V; export declare function scopedSubscribe(scope: Scope, subscribe: () => Unsub): Unsub; export declare function scopedSubscribe1(scope: Scope, subscribe: Subscribe): Subscribe;