import { NextObserver, Observable, Subject, Subscribable, Subscription, Unsubscribable } from "rxjs"; import { CheckPhase, DeferredValueOptions, ValueOptions } from "./interfaces"; import { EventEmitter } from "@angular/core"; export declare const trackedValues: Map>; export declare const pendingObservers: Set; export declare function setPending(value: boolean): boolean; export declare function flush(): void; export declare class Value implements NextObserver { readonly __ng_value: boolean; readonly __check_phase: number; check?: (oldValue: T, newValue: T) => boolean; source: Subject; errors: Set<(error: unknown) => Observable | void>; changes: Set<(previous: T, current: T) => void>; get value(): T; set value(nextValue: T); isDirty(value: T): boolean; call(this: any, context: any, ...args: any[]): any; apply(this: any, context: any, args: any[]): any; bind(): this; subscribe(observer: any): Subscription; lift(operator: any): Observable; pipe(this: any, ...operators: any): any; next(nextValue: T): void; asObservable(): Observable; forEach(next: (value: any) => void, promiseCtor: PromiseConstructorLike): Promise; toPromise(promiseCtor: any): Promise; onError(handler: (error: unknown) => Observable | void): () => boolean; onChanges(handler: (previous: T, current: T) => void): () => boolean; constructor({ check, subject, immediate }?: ValueOptions, value?: T, phase?: CheckPhase); } export declare class DeferredValue extends Value implements Connectable { subscribable: Subscribable; phase: CheckPhase; options?: ValueOptions | DeferredValueOptions | undefined; connected: boolean; refCount: number; subscription: Subscription; connect(): void; disconnect(): void; subscribe(observer: any): Subscription; constructor(subscribable: Subscribable, phase?: CheckPhase, options?: ValueOptions | DeferredValueOptions | undefined); } export declare class ComputedValue extends Value { observer: any; options?: ValueOptions | undefined; dirty: boolean; closed: boolean; get value(): any; observe(): void; stop(): void; subscribe(observer: any): Subscription; constructor(observer: any, options?: ValueOptions | undefined); } declare type Next = ((param: T) => void) | NextObserver; interface Accessor { next: Next; value: Subscribable | (() => TValue); } interface Connectable { connected: boolean; connect(): void; disconnect(): void; refCount: number; source: Subscribable; } export declare class AccessorValue extends Value implements Connectable { refCount: number; subscription: Unsubscribable; subscribable: Subscribable; accessor: Accessor; connected: boolean; options?: ValueOptions | DeferredValueOptions; get value(): TValue; next(value: TNext): void; next(value: never): void; connect(): void; disconnect(): void; subscribe(observer: any): Subscription; constructor(accessor: Accessor, options?: ValueOptions | DeferredValueOptions); } export declare function defaultFn(value: any): any; export declare class Emitter extends EventEmitter { readonly __ng_emitter: boolean; modifier: (...params: any[]) => any; next(values: any): void; emit(values: any): void; call(this: any, context: any, ...args: any[]): any; apply(this: any, context: any, args: any[]): any; bind(): this; constructor(fn: (...params: any[]) => any); } export {};