import { Observable, Observer_Interface, Observer_Props, Observer_Type } from "../core/observer";
import { Data_Interface } from "../io/types";
import { Task_Interface } from "./types";
export declare abstract class Observable_Abstract_TaskBase<T> implements Task_Interface<T>, Observable<T> {
    private observer_subject;
    constructor();
    notify_all(props: Observer_Props<T>): void;
    notify(props: Observer_Props<T>): void;
    add_observer(observer: Observer_Interface<T>, id: Observer_Type): void;
    abstract perform(dao: Data_Interface<T>): Data_Interface<T>;
}
