export function resolveSiftBinary(env?: NodeJS.ProcessEnv): string | null;
export function resolveSiftWarmupRuntimeDirs(projectRoot: string): {
	searchCache: string;
	tmpDir: string;
};
export function ensureSiftRuntimeDirs(projectRoot: string): {
	searchCache: string;
	tmpDir: string;
};
export function buildSiftEnv(
	projectRoot: string,
	env: NodeJS.ProcessEnv,
): NodeJS.ProcessEnv;
export function resolveSiftSearchScope(
	projectRoot: string,
	scope?: string,
): string;
export function detectSift(
	projectRoot: string,
	prefs: Record<string, unknown>,
	env?: NodeJS.ProcessEnv,
): unknown;
export function ensureSiftIndexWarmup(
	projectRoot: string,
	prefs: Record<string, unknown>,
	options?: Record<string, unknown>,
): Promise<unknown>;
export function resolveCodebaseIndexerBackendName(
	prefs: Record<string, unknown>,
): string;
export function resolveEffectiveCodebaseIndexerBackendName(
	projectRoot: string,
	prefs: Record<string, unknown>,
	env?: NodeJS.ProcessEnv,
): string;
export function getCodebaseIndexerBackend(
	prefsOrName: Record<string, unknown> | string,
): unknown;
export function detectCodebaseIndexer(
	projectRoot: string,
	prefs: Record<string, unknown>,
	env?: NodeJS.ProcessEnv,
): unknown;
export function formatCodebaseIndexerStatus(
	projectRoot: string,
	prefs: Record<string, unknown>,
	env?: NodeJS.ProcessEnv,
): string;
export function buildCodeIntelligenceContextBlock(
	projectRoot: string,
	prefs: Record<string, unknown>,
	env?: NodeJS.ProcessEnv,
): string;
export function formatSiftStatus(
	projectRoot: string,
	prefs: Record<string, unknown>,
	env?: NodeJS.ProcessEnv,
): string;
export const SIFT_CODEBASE_INDEXER_BACKEND: Record<string, unknown>;
export const NO_CODEBASE_INDEXER_BACKEND: Record<string, unknown>;
export const CODEBASE_INDEXER_BACKENDS: Record<string, unknown>;
