import { ResultAsync } from "neverthrow"; import { URI } from "vscode-uri"; import { IDendronError } from "../error"; import { DendronConfig } from "../types"; import { DeepPartial } from "../utils"; export declare type ConfigValue = string | number | object; export interface IConfigStore { /** * Create a persistent dendron config * If a persistent dendron config exists, return an error */ createConfig(wsRoot: URI, defaults?: DeepPartial): ResultAsync; /** * Read the entire dendron config as is */ readConfig(wsRoot: URI): ResultAsync, IDendronError>; /** * Given a dendron config, update the persistent dendron config with the given payload * If dendronrc.yml is found, content that is present in dendronrc.yml will be filtered out before writing */ writeConfig(wsRoot: URI, payload: DendronConfig): ResultAsync; /** * Given mode (workspace or global), read override config */ readOverride(wsRoot: URI, mode: "workspace" | "global"): ResultAsync; }