import { ArrayValue, Schema, type SchemaDefinition, SchemaValidationError, type SchemaValue, StringValue } from '@coveo/bueno'; import type { SerializedError } from '@reduxjs/toolkit'; import type { CoreEngine, CoreEngineNext } from '../app/engine.js'; export declare const requiredNonEmptyString: StringValue; export declare const nonEmptyString: StringValue; export declare const requiredEmptyAllowedString: StringValue; export declare const nonRequiredEmptyAllowedString: StringValue; export declare const nonEmptyStringArray: ArrayValue; export declare const optionalNonEmptyVersionString: StringValue; export declare const optionalTrackingId: StringValue; export declare const requiredTrackingId: StringValue; export declare const serializeSchemaValidationError: ({ message, name, stack, }: SchemaValidationError) => SerializedError; /** * Validates an action payload and throws an error if invalid * @param payload the action payload * @param definition Either a Bueno SchemaDefinition or a SchemaValue */ export declare const validatePayloadAndThrow:

(payload: P, definition: SchemaDefinition> | SchemaValue

) => { payload: P; }; /** * Validates an action payload and return an `error` alongside the payload if it's invalid * @param payload the action payload * @param definition Either a Bueno SchemaDefinition or a SchemaValue */ export declare const validatePayload:

(payload: P, definition: SchemaDefinition> | SchemaValue

) => { payload: P; error?: SerializedError; }; export declare const validateInitialState: (engine: CoreEngine | CoreEngineNext, schema: Schema, obj: T | undefined, functionName: string) => Partial; export declare const validateOptions: (engine: CoreEngine | CoreEngineNext, schema: Schema, obj: Partial | undefined, functionName: string) => Partial>;