import { SnapshotSubscriber } from "./Snapshots"; export declare type SnapshotUnsubscriber = () => void; export declare type OnUpdatedCallback = (value: D | undefined) => void; export interface DataListener { get(): D | undefined; unsubscribe(): void; } export declare class DefaultDataListener implements DataListener { private readonly subscriber; private readonly onUpdated?; private value; private unsubscriber; constructor(subscriber: SnapshotSubscriber, onUpdated?: OnUpdatedCallback | undefined); get(): D | undefined; unsubscribe(): void; } export declare class NullDataListener implements DataListener { get(): D | undefined; unsubscribe(): void; } export declare class StaticDefaultDataListener implements DataListener { private readonly value; constructor(value: D | undefined); get(): D | undefined; unsubscribe(): void; }