import { z } from 'zod';
export declare const RegistryEntrySchema: z.ZodObject<{
    path: z.ZodString;
    chunkCount: z.ZodNumber;
    lastSync: z.ZodString;
    embedder: z.ZodString;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    path: z.ZodString;
    chunkCount: z.ZodNumber;
    lastSync: z.ZodString;
    embedder: z.ZodString;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    path: z.ZodString;
    chunkCount: z.ZodNumber;
    lastSync: z.ZodString;
    embedder: z.ZodString;
}, z.ZodTypeAny, "passthrough">>;
export declare const RegistrySchema: z.ZodRecord<z.ZodString, z.ZodObject<{
    path: z.ZodString;
    chunkCount: z.ZodNumber;
    lastSync: z.ZodString;
    embedder: z.ZodString;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    path: z.ZodString;
    chunkCount: z.ZodNumber;
    lastSync: z.ZodString;
    embedder: z.ZodString;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    path: z.ZodString;
    chunkCount: z.ZodNumber;
    lastSync: z.ZodString;
    embedder: z.ZodString;
}, z.ZodTypeAny, "passthrough">>>;
export type TotemRegistry = z.infer<typeof RegistrySchema>;
export type RegistryEntry = z.infer<typeof RegistryEntrySchema>;
export declare function readRegistry(onWarn?: (msg: string) => void): TotemRegistry;
/**
 * Update a single entry in the global registry.
 * Uses file locking to prevent concurrent sync processes from clobbering each other.
 */
export declare function updateRegistryEntry(entry: RegistryEntry): Promise<void>;
//# sourceMappingURL=registry.d.ts.map