import { Field } from '../../../../types';
import * as Yup from 'yup';
/**
 * Result type for base schema creation.
 * Matches the schema union used by createFieldValidationSchema.
 */
export type BaseSchemaResult = Yup.StringSchema | Yup.NumberSchema | Yup.BooleanSchema | Yup.ArraySchema<any, any, any, any> | Yup.ObjectSchema<any, any, any, any> | ReturnType<typeof Yup.mixed>;
/**
 * Strategy for creating the base Yup schema for a field based on its type.
 * Each implementation handles one or more field types (by rhfComponent or fieldType.id).
 */
export interface BaseSchemaStrategy {
    /**
     * Returns true if this strategy should be used for the given field.
     */
    applies(field: Field): boolean;
    /**
     * Creates the base Yup schema for the field.
     */
    create(field: Field): BaseSchemaResult;
}
//# sourceMappingURL=types.d.ts.map