export type ValidationSeverity = "error" | "warning"; export interface ValidationIssue { path: string; message: string; severity: ValidationSeverity; } export declare function describeValue(value: unknown): string; export declare function isRecord(value: unknown): value is Record; export declare function createValidationIssue(path: string, message: string, severity?: ValidationSeverity): ValidationIssue; export declare function pushValidationIssue(issues: ValidationIssue[], path: string, message: string, severity?: ValidationSeverity): void; /** * Prepends `prefix` to the `path` of each issue. * * Idempotency guard: if an issue's path is already equal to `prefix` or already * starts with `${prefix}.`, it is passed through unchanged. This makes the * function safe to call on a mix of already-prefixed and unprefixed issues without * producing double-prefixed paths. * * Empty paths become `prefix` with no separator. */ export declare function prefixValidationIssues(prefix: string, issues: ValidationIssue[]): ValidationIssue[]; export declare function formatValidationIssues(issues: ValidationIssue[]): string; export declare function requireKeys(value: unknown, path: string, keys: readonly string[]): ValidationIssue[]; //# sourceMappingURL=basic.d.ts.map