/** * Configuration management — reads and validates environment variables * with sensible defaults. */ export interface Config { /** Absolute path to the Obsidian vault root */ vaultPath: string; /** Subfolder for daily notes (relative to vault root) */ dailyNoteFolder: string; /** Date format for daily note filenames (YYYY-MM-DD style) */ dailyNoteFormat: string; /** Max file size in bytes to read (protection against huge files) */ maxFileSizeBytes: number; /** Max number of search results returned */ maxSearchResults: number; /** Search timeout in milliseconds */ searchTimeoutMs: number; /** Whether to move deleted files to .trash instead of permanent delete */ trashOnDelete: boolean; /** File extensions considered as notes */ noteExtensions: string[]; /** Enable auto git commit+push after writes */ gitAutoSync: boolean; /** Debounce period (ms) before auto-syncing after last write */ gitAutoSyncDebounceMs: number; /** Prefix for auto-commit messages */ gitCommitMessagePrefix: string; /** Default git remote name */ gitRemote: string; /** Default git branch name */ gitBranch: string; /** Timeout for git operations in ms */ gitTimeoutMs: number; /** Use --rebase on git pull */ gitPullRebase: boolean; /** Subfolder for task notes (relative to vault root) */ tasksFolder: string; /** Subfolder for decision records (relative to vault root) */ decisionsFolder: string; /** Subfolder for discovery/TIL notes (relative to vault root) */ discoveriesFolder: string; /** Subfolder for agent profiles (relative to vault root) */ agentsFolder: string; /** Subfolder for usage records (relative to vault root) */ usageFolder: string; /** Comma-separated webhook URLs for event notifications */ webhookUrls: string[]; /** HMAC secret for signing webhook payloads */ webhookSecret: string; /** Webhook HTTP request timeout in ms */ webhookTimeoutMs: number; } export declare function loadConfig(): Config; //# sourceMappingURL=config.d.ts.map