import { SchemaContext } from "../types/context-types.mjs"; import { BaseValidator } from "./base-validator.mjs"; import { ComputedValidator } from "./computed-validator.mjs"; //#region ../@warlock.js/seal/src/validators/managed-validator.d.ts /** * Callback function for managed fields * Receives only schema context (no data dependency) */ type ManagedCallback = (context: SchemaContext) => TResult | Promise; /** * Managed field validator * * The callback is optional - if not provided, the framework can inject the value. * @example * ```ts * // With callback (framework executes it) * const schema = v.object({ * name: v.string(), * createdAt: v.managed(() => new Date()), * updatedAt: v.managed(() => new Date()), * }); * * // Without callback (framework injects value) * const schema = v.object({ * name: v.string(), * id: v.managed(() => 1), * }); * ``` */ declare class ManagedValidator extends ComputedValidator { /** * Create a new managed field validator * * @param callback - Optional function to generate the value * @param resultValidator - Optional validator to validate the generated result */ constructor(callback: ManagedCallback, resultValidator?: BaseValidator); } //#endregion export { ManagedCallback, ManagedValidator }; //# sourceMappingURL=managed-validator.d.mts.map