import type { Schema, Infer } from '../base.ts'; import { SCHEMA_KIND } from '../base.ts'; /** * Schema for validating records (objects with string keys and typed values). * Like TypeScript's Record type. * * @template K - The key schema (must be string) * @template V - The value schema * * @example * ```typescript * const schema = s.record(s.string(), s.number()); * schema.parse({ a: 1, b: 2 }); // { a: 1, b: 2 } * schema.parse({ a: 'invalid' }); // throws ValidationError * ``` */ export declare class RecordSchema, V extends Schema> implements Schema, Infer>, Record, Infer>> { private keySchema; private valueSchema; readonly [SCHEMA_KIND] = "RecordSchema"; description?: string; private recordParseMethods; constructor(keySchema: K, valueSchema: V); readonly '~standard': { version: 1; vendor: string; validate: (value: unknown) => import("@agentuity/core").StandardSchemaV1.FailureResult | import("@agentuity/core").StandardSchemaV1.SuccessResult, Infer>>; types: { input: Record, Infer>; output: Record, Infer>; }; }; describe(description: string): this; optional(): import("../index.ts").OptionalSchema; nullable(): import("../index.ts").NullableSchema; parse: (this: Schema, Infer>>, value: unknown) => Record, Infer>; safeParse: (this: Schema, Infer>>, value: unknown) => import("../base.ts").SafeParseResult, Infer>>; } /** * Create a record schema for objects with string keys and typed values. * * @param keySchema - Schema for keys (typically s.string()) * @param valueSchema - Schema for values * * @example * ```typescript * const configSchema = s.record(s.string(), s.number()); * const config = configSchema.parse({ timeout: 30, retries: 3 }); * * const metadataSchema = s.record(s.string(), s.unknown()); * const metadata = metadataSchema.parse({ any: 'data', here: 123 }); * ``` */ export declare function record, V extends Schema>(keySchema: K, valueSchema: V): RecordSchema; //# sourceMappingURL=record.d.ts.map