import type { StandardJSONSchemaV1, StandardSchemaV1, StandardTypedV1 } from '@standard-schema/spec';
import { UserError } from '../errors';
/** A Standard Schema that supports validation and JSON Schema conversion. */
export interface StandardSchemaWithJSON<Input = unknown, Output = Input> {
    readonly '~standard': StandardSchemaV1.Props<Input, Output> & StandardJSONSchemaV1.Props<Input, Output>;
}
export type StandardSchemaOutput<T extends StandardTypedV1> = StandardTypedV1.InferOutput<T>;
export declare function hasStandardSchemaMarker(schema: unknown): boolean;
export declare function isStandardSchemaWithJSON(schema: unknown): schema is StandardSchemaWithJSON;
export declare function unsupportedStandardSchemaError(): UserError;
export declare function standardSchemaToJsonSchema(schema: StandardSchemaWithJSON, io: 'input' | 'output'): Record<string, unknown>;
export declare function assertStandardSchemaObjectRoot(schema: Record<string, unknown>, surface: string): void;
export declare function validateStandardSchema<T extends StandardSchemaWithJSON>(schema: T, value: unknown): StandardSchemaOutput<T>;
