export type CodexTrustState = 'trusted' | 'untrusted' | 'unreadable'; export declare function getCodexConfigPath(): string; /** * Read the trust level of a project from the Codex global config. * * A file Codex itself cannot parse gets its own state: Codex ignores every project * while that is true, so reporting `trusted` there would hide the real problem. */ export declare function getCodexTrustState(projectRoot: string): Promise; /** * Check whether the Codex global config can be parsed, so callers can report the * real reason (a duplicate key, a stray bracket) instead of a generic failure. */ export declare function inspectCodexGlobalConfig(): Promise<{ ok: boolean; path: string; error?: string; }>; export type GrokTrustState = CodexTrustState; /** * Grok keeps folder trust in a file of its own, not in `config.toml`. * * Until a folder is trusted, Grok ignores the project's MCP servers and the skills it * would otherwise read from `.agents/skills`, without reporting anything: `grok inspect` * simply lists none of them. */ export declare function getGrokTrustedFoldersPath(): string; /** Read whether Grok trusts this project. */ export declare function getGrokTrustState(projectRoot: string): Promise; /** * Record trust for a project, one writer at a time. * * Both trust files are shared by every project on the machine and are rewritten whole, * so two syncs running at once would drop one of the two decisions. The lock is the same * one the sync uses for the other files it shares. */ export declare function ensureCodexProjectTrusted(projectRoot: string): Promise<{ changed: boolean; path: string; }>; /** Record Grok folder trust, one writer at a time. See `ensureCodexProjectTrusted`. */ export declare function ensureGrokProjectTrusted(projectRoot: string): Promise<{ changed: boolean; path: string; }>;