import type { TaskListStore } from "../../tools/task-list.js";
import { type CorruptReadInfo } from "./corrupt-read-sink.js";
export declare function createFileTaskListStore(root: string, opts?: {
    /**
     * The DATA ROOT whose adoption marker gates construction (design/183 I6). Most of the file family
     * takes the data root and derives `join(root, "<family>")` itself; this factory is one of the TWO
     * faces that instead take a caller-chosen directory (the other being
     * `FileDurableRulePartitionProvider`, which takes a rule bucket) — here, the document's own
     * directory. So when a deployment hands in a SUBDIRECTORY the I6 check would look for the marker
     * inside that subdirectory, find nothing, and pass unconditionally: a gate that is always open
     * (backlog #136⑦). Supply the data root here and the gate reads the anchor the root-taking faces
     * read. Absent ⇒ the directory argument doubles as the anchor, which is exact when it IS the data
     * root (the conventional wiring) and is the previous behavior otherwise; the adoption freeze note
     * on `adoptLocalDataRoot` lists that default among the seams it does not cover.
     */
    dataRoot?: string;
    /** Disclosure sink for a task-list document that is present but cannot be read as one: it fires WITH the
     *  refusal and is the only carrier of the file's location (the refusal's message names none). Never fires on
     *  plain absence. Swallow-guarded: a throwing sink cannot change the refusal. */
    onCorruptRead?: (info: CorruptReadInfo) => void;
}): TaskListStore;
