import { z } from 'zod';
/**
 * Zod schema for validating purpose values.
 *
 * This schema ensures that a purpose is a non-empty string.
 * It applies the following validations:
 * - The value must be a string.
 * - The string must have a minimum length of 1 character.
 *
 * @type {z.ZodString}
 *
 * @example
 * // Valid usage
 * purposeSchema.parse('abc123'); // Returns 'abc123'
 * purposeSchema.parse('a'); // Returns 'a'
 *
 * // Invalid usage (will throw ZodError)
 * purposeSchema.parse(''); // Throws error: String must contain at least 1 character(s)
 * purposeSchema.parse(123); // Throws error: Expected string, received number
 *
 * @throws {z.ZodError} Throws a ZodError if the input fails validation
 */
export declare const purposeSchema: z.ZodString;
/**
 * Represents a purpose.
 *
 * A purpose is a value that describes the reason for the object's existence.
 *
 * @class
 * @example
 * // Create a Purpose instance
 * const purpose = new Purpose('abc123');
 * console.log(purpose.value); // Outputs: 'abc123'
 *
 */
export declare class Purpose {
    value: string;
    /**
     * Creates an instance of Purpose.
     *
     * @param {string} value - The value of the purpose.
     */
    constructor(value: string);
    /**
     * Returns the string representation of the Purpose.
     *
     * This method is used for JSON serialization.
     *
     * @returns {string} The purpose value.
     */
    toJSON(): string;
}
