import type { ObjectSchema, ValidateOptions } from 'yup';
export declare const URL_SCHEMA: import("yup").StringSchema<string | undefined, import("yup").AnyObject, undefined, "">;
type SchemaType<T> = T extends ObjectSchema<any> ? ObjectType<T> : {
    required: boolean;
    type: string;
};
type FieldType<T extends ObjectSchema<any>> = T extends {
    fields: Record<infer R, any>;
} ? R : never;
type ObjectType<T extends ObjectSchema<any>> = {
    required: boolean;
    type: 'object';
    fields: {
        [K in FieldType<T>]: SchemaType<T['fields'][K]>;
    };
};
/**
 * Generates a simplified representation of a yup schema.
 */
export declare function parseSchema<T extends ObjectSchema<any>>(schema: T): Pick<SchemaType<T>, 'fields'>;
/**
 * Same functionality as the yup validate function, but throws a {@link BadRequestHttpError} if there is an error.
 */
export declare function validateWithError<T extends ObjectSchema<any>>(schema: T, data: unknown, options?: ValidateOptions<any>): Promise<T['__outputType']>;
export {};
