/**
 * When the post-completion hook spawns ingest/sync, the parent CLI process often exits before the
 * detached child's `exit` event runs, so the lock file would linger. The child clears this path in a
 * `finally` (see `handleRunCommand` for sync-transcripts / ingest-transcripts).
 */
export declare const TRANSCRIPT_HOOK_LOCK_ENV_VAR = "WORKSPACE_KIT_TRANSCRIPT_HOOK_LOCK_FILE";
export declare function releaseTranscriptHookLockFromEnv(): void;
export declare function readAfterTaskCompletedHook(effective: Record<string, unknown>): "off" | "sync" | "ingest";
/**
 * Build the third CLI argument for `workspace-kit run ingest-transcripts` when spawning from the
 * post-completion hook. Merges `WORKSPACE_KIT_POLICY_APPROVAL` JSON into `policyApproval` (run path
 * does not read the env var). Adds `forceGenerate: true` so each hook run syncs transcripts then
 * runs recommendation generation (policy traces, task friction, etc.), not only when cadence would allow.
 */
export declare function buildIngestTranscriptsArgsForHook(env?: NodeJS.ProcessEnv): {
    jsonArgs: string;
    hasApproval: boolean;
};
export declare function resolveWorkspaceKitCli(workspacePath: string): string | null;
/**
 * After a task reaches `completed`, optionally spawn sync/ingest without blocking the transition (T274).
 * Ingest requires WORKSPACE_KIT_POLICY_APPROVAL in the parent env or falls back to sync.
 */
export declare function maybeSpawnTranscriptHookAfterCompletion(workspacePath: string, effective: Record<string, unknown>): void;
