export type StateScope = 'state' | 'cache' | 'runtime' | 'log' | 'worktree' | 'db';
export interface NexusPathEntry {
    path: string;
    scope: StateScope;
    /** `true` when missing-on-purpose is fine. `false` means removal should be audited. */
    optional: boolean;
}
/** Well-known tmp prefixes owned by Nexus. */
export declare const NEXUS_TMP_PREFIXES: readonly ["nexus-prime-runs", "nexus-prime-worktrees", "nexus-prime-runtime-skills", "nexus-prime-runtime-workflows", "nexus-prime-runtime-hooks", "nexus-prime-runtime-automations", "nexus-prime-sessions", "nexus-phantom"];
/** Matches per-invocation tmp entries like `nexus-prime-feature-registry-*`. */
export declare const NEXUS_TMP_GLOB_PREFIXES: readonly ["nexus-prime-feature-registry-", "nexus-reset-test-"];
export declare function getNexusStateDir(): string;
export declare function getSetupMarkerPath(): string;
export declare function getInstallManifestPath(): string;
/** Top-level tmp roots that Nexus writes into. */
export declare function getWorktreeRoots(): string[];
/** Top-level tmp roots for runs + session scratch. */
export declare function getRuntimeTmpRoots(): string[];
/**
 * Resolve every persistent path Nexus owns under the state dir.
 *
 * This is the authoritative list used by uninstall --purge-all. It mirrors the
 * directory names that engines create lazily, so missing entries are normal.
 */
export declare function enumerateStatePaths(stateDir?: string): NexusPathEntry[];
/**
 * Enumerate ngram .oversize.* archive snapshots produced by the rotate path.
 * Cleanup keeps at most one of these (the newest) so a runaway DB can't grow
 * a multi-GB backlog of stale carcasses.
 */
export interface NgramArchiveEntry {
    path: string;
    bytes: number;
    modifiedAt: number;
}
export declare function enumerateNgramArchives(stateDir?: string): NgramArchiveEntry[];
/** Known IDE registration targets discovered in a workspace + home dir. */
export interface RegistrationTarget {
    id: 'aider' | 'antigravity' | 'claude-desktop' | 'claude-home' | 'claude-workspace' | 'cline' | 'codex-json' | 'codex-toml' | 'continue' | 'cursor-home' | 'cursor-workspace' | 'hermes' | 'nanoclaw' | 'opencode' | 'openclaw' | 'picoclaw' | 'vscode-workspace' | 'windsurf';
    filePath: string;
    jsonPath: string[];
}
export declare function enumerateRegistrationTargets(workspaceRoot: string, home?: string): RegistrationTarget[];
