import { IDStr } from "./Strings"; export declare type OnErrorCallback = (err: Error) => void; export declare type OnNextCallback = (value: V | undefined) => void; export declare type SnapshotUnsubscriber = () => void; export declare type SnapshotSubscriberFactory = () => SnapshotSubscriber; export declare type SnapshotSubscriber = (onNext: OnNextCallback, onError?: OnErrorCallback) => SnapshotUnsubscriber; export interface SnapshotSubscriberWithID { readonly id: IDStr; readonly subscribe: SnapshotSubscriber; } export interface SubscriptionValue { readonly value: T | undefined; readonly error: Error | undefined; } export declare type SnapshotTuple = [T | undefined, Error | undefined]; export declare function NULL_SNAPSHOT_SUBSCRIBER(onNext: OnNextCallback, onError?: OnErrorCallback): () => void; export declare type SnapshotConverter = (from: F | undefined) => T | undefined; export declare namespace SnapshotSubscribers { function converted(subscriber: SnapshotSubscriber, converter: SnapshotConverter): SnapshotSubscriber; function of(value: V): SnapshotSubscriber; }