import { Observable, Observer_Interface, Observer_Props, Observer_Type } from "../core";
import { CopyTask_Type } from "../core/copy-job";
import { Data_Interface } from "../io/types";
export interface MD_Task_Parameter_Type {
    tag_obsidian_prefix?: string;
    tag_obsidian_suffix?: string;
    find_rule?: string;
    replace_template: string;
    copy_task?: CopyTask_Type;
}
export interface Task_Interface<D> extends Observable<D> {
    perform(dao: Data_Interface<D>): Data_Interface<D>;
    add_observer(observer: Observer_Interface<D>, id: Observer_Type): void;
    notify_all(props: Observer_Props<D>): void;
    notify(props: Observer_Props<D>): void;
}
