import type { StandardSchemaV1 } from '@standard-schema/spec';
export type ValidationIssue = StandardSchemaV1.Issue & {
    readonly code?: string;
};
export interface StandardSchema<T> {
    '~standard': {
        validate: (value: unknown) => StandardSchemaV1.Result<T> | Promise<StandardSchemaV1.Result<T>>;
    };
}
export type SafeParseSchemaResult<T> = {
    success: true;
    data: T;
} | {
    success: false;
    error: SchemaError;
};
export declare class SchemaError extends Error {
    readonly issues: readonly ValidationIssue[];
    constructor(issues: readonly ValidationIssue[]);
}
export declare function safeParseSchema<T>(schema: StandardSchema<T>, value: unknown): SafeParseSchemaResult<T>;
export declare function parseSchema<T>(schema: StandardSchema<T>, value: unknown): T;
