export declare function getPackageRoot(): string; export declare function getVersion(): string; export declare function readAsset(relPath: string): string; /** * Merge a block (delimited by wigolo:start/wigolo:end markers) into a file. * Creates the file if it doesn't exist. * Replaces an existing block, or appends if no block present. * * Mismatched markers (one present, not both) are treated as corruption from a * previously interrupted write — the file is backed up to .wigolo-bak * and the mismatched marker is stripped before the new block is appended. * Without this guard the next merge would eat user content between the * orphan marker and the freshly-written end marker. */ export declare function mergeBlock(filePath: string, block: string): void; /** * Remove the wigolo block from a file. Returns true if a block was removed. * * If the block was the file's only content, the file is unlinked rather than * left as a 0-byte stub. Symlinks are never unlinked — they may resolve to * user content outside the file we own. */ export declare function removeBlock(filePath: string): boolean; /** * Create or merge an MCP server entry into a JSON config file. * keyPath like ['mcpServers', 'wigolo'] navigates/creates nested keys. * Other servers in the file are preserved. */ export declare function mergeMcpJson(configPath: string, entry: Record, keyPath: string[]): void; /** Remove the wigolo entry from a JSON MCP config, preserving other servers. */ export declare function removeMcpJson(configPath: string, keyPath: string[]): void; /** Detect whether wigolo is installed globally and return the appropriate command. */ export declare function getMcpCommand(): { command: string; args: string[]; }; //# sourceMappingURL=utils.d.ts.map