/** * Idempotently guarantee that a `.gitignore` in `directory` carries `entries`. * * Absent file → written with `header` followed by the entries, unless the * caller passes `createIfMissing: false`. Existing file → only the missing * entries are appended, under `marker` so the addition is attributable. An * entry already present anywhere in the file (at any indentation) is left * alone, so repeat calls are no-ops. * * `createIfMissing: false` is for migration callers, which append globs to a * checkout that already ignores something. Creating a `.gitignore` where the * author never had one is a write into their repository that they did not * ask for, and it is not what a migration means. * * Best-effort by design: this maintains repository hygiene, never correctness. * The caller's real work — writing config or recording deploy state — must not * fail because a `.gitignore` could not be written (read-only checkout, no * repository at all, permissions). Returns whether the file now provably * carries every entry, for callers that want to assert or log — so a skipped * creation reports `false`, because no file carries anything. */ export declare function ensureGitignoreEntries(directory: string, entries: readonly string[], options: { header?: string; marker: string; createIfMissing?: boolean; }): boolean;