import { ReadonlyAbon } from "./readonly-abon";
import { ComposedSubscriberFlex } from "./types";
/** Subscribe to a value composed from multiple subscriptions. */
export declare class AbonComposed<T> extends ReadonlyAbon<T> {
    current: T;
    private __unsubscriber?;
    constructor(getter: () => T, subscriber: ComposedSubscriberFlex);
    protected unsubscribe(): void;
}
/** Subscribe to a value composed from multiple subscriptions. Also, update the subscriptions and how the value should be composed. */
export declare class AbonComposedDynamic<T> extends ReadonlyAbon<T> {
    current: T;
    private __unsubscriber?;
    protected getter: () => T;
    protected subscriber: ComposedSubscriberFlex;
    constructor(getter: () => T, subscriber: ComposedSubscriberFlex);
    protected set(value?: T): void;
    setGetter(getter: () => T): void;
    setSubscriber(subscriber: ComposedSubscriberFlex): void;
    protected hydrateSubscriber(): void;
    protected unsubscribe(): void;
}
