import type { ValueRegistry } from '../../types/registry.js'; export type RegistryValue = { initValue: T; context: Record; value: T; processors: { callback: SyncProcessor | AsyncProcessor; priority: number; }[]; }; export type SyncProcessor = (value: T) => T; export type AsyncProcessor = (value: T) => Promise; /** * Get the value from the registry * @param name - The name of the value * @param initialization - The initialization value or a function that returns the value * @param context - The context of the value * @param validator - The validator function * @returns The value from the registry */ export declare function getValue(name: string, initialization: T | AsyncProcessor | SyncProcessor, context?: Record, validator?: (value: T) => boolean): Promise; /** * Get the value from the registry * @param name - The name of the value * @param initialization - The initialization value or a function that returns the value * @param context - The context of the value * @param validator - The validator function * @returns The value from the registry */ export declare function getValueSync(name: string, initialization: T | SyncProcessor, context: Record, validator?: (value: T) => boolean): T; /** * Add a processor for a known registry value (typed). */ export declare function addProcessor(name: K, callback: SyncProcessor | AsyncProcessor, priority?: number): void; /** * Add a processor for a custom registry value. */ export declare function addProcessor(name: string, callback: SyncProcessor | AsyncProcessor, priority?: number): void; /** * Add a final (priority-1000) processor for a known registry value (typed). */ export declare function addFinalProcessor(name: K, callback: SyncProcessor | AsyncProcessor): void; /** * Add a final (priority-1000) processor for a custom registry value. */ export declare function addFinalProcessor(name: string, callback: SyncProcessor | AsyncProcessor): void; export declare function getProcessors(name: string): { callback: SyncProcessor | AsyncProcessor; priority: number; }[]; export declare function lockRegistry(): void;