import * as z from 'zod'; export declare const dir: string; declare const create: unique symbol; export declare class Handle { private init; private _data?; readonly path: string; get schema(): S; private constructor(); load(): void; save(): void; update(): Promise; isValid(): Promise; get data(): z.infer | undefined; static [create](init: Init): Handle; } export interface Init { path: string; schema: S; update(existing?: z.infer): z.infer | Promise>; isValid(data: z.infer, lastUpdatedTs: number): boolean | Promise; onLoad?(data: z.infer): unknown; } export declare function useAt(init: Init): Handle; export declare const meta: Handle>; expires: z.ZodCoercedDate; created: z.ZodCoercedDate; elevated: z.ZodBoolean; user: z.ZodObject<{ id: z.ZodUUID; name: z.ZodString; email: z.ZodEmail; emailVerified: z.ZodOptional>>; preferences: z.ZodLazy; }, z.core.$strip>>; roles: z.ZodArray; tags: z.ZodArray; registeredAt: z.ZodCoercedDate; isAdmin: z.ZodBoolean; isSuspended: z.ZodBoolean; }, z.core.$strip>; }, z.core.$strip>; apps: z.ZodArray; image: z.ZodOptional; icon: z.ZodOptional; }, z.core.$strip>>; }, z.core.$loose>>; export declare const sync: Handle>; index: z.ZodCoercedBigInt; }, z.core.$strip>>; export declare function load(): void; export declare function update(force?: boolean): Promise; export declare function clear(): void; export interface CacheInfo { path: string; size?: bigint; exists: boolean; } export interface CacheInfoLocal extends CacheInfo { valid: boolean; fromAPI?: false; } export interface CacheInfoAPI extends CacheInfo { entries: number; fromAPI: true; } export declare function info(): AsyncGenerator; export {};