/** Filename of OpenCode's project-scope config file (at the project root). */
export declare const CONFIG_FILENAME = "opencode.json";
/** OpenCode's config JSON-schema URL, used to seed `$schema` on fresh files. */
export declare const OPENCODE_SCHEMA_URL = "https://opencode.ai/config.json";
/**
 * Lisa-required settings forced into `opencode.json`. For these keys Lisa wins
 * on conflict; every other key the host authors is preserved untouched.
 *
 * `share: "disabled"` is the headline entry — OpenCode sharing is ON by default
 * and creates public URLs, so disabling it is an enterprise-safety guarantee.
 */
export declare const LISA_REQUIRED_SETTINGS: Readonly<Record<string, unknown>>;
/** Result of a settings install pass. */
export interface SettingsInstallResult {
    /** Files written, relative to the project root. */
    readonly managedFiles: readonly string[];
    /** Whether `opencode.json` was newly created (vs. merged in place). */
    readonly created: boolean;
}
/**
 * Install or update Lisa's required settings in `<destDir>/opencode.json`.
 *
 * Host keys, comments, and formatting survive because the merge edits the
 * document surgically rather than reserializing it.
 * @param destDir - Absolute path to the host project root.
 * @returns Result describing what was written.
 */
export declare function installSettings(destDir: string): Promise<SettingsInstallResult>;
/**
 * Merge Lisa-required settings into an `opencode.json` (JSONC) document. Pure
 * function for testability; `installSettings` is the I/O wrapper.
 *
 * Empty input yields a clean Lisa-authored document. Non-empty input is parsed
 * tolerantly (comments + trailing commas allowed) and edited key-by-key so
 * surrounding host content is preserved byte-for-byte. Throws on invalid JSONC
 * so a malformed host file is surfaced rather than silently overwritten.
 * @param existingJsonc - Current contents of `opencode.json` (or "").
 * @returns Merged JSON/JSONC string with host content preserved.
 */
export declare function mergeSettings(existingJsonc: string): string;
//# sourceMappingURL=settings-installer.d.ts.map