import { z } from 'zod';
/**
 * Schema for the possible types of attributes.
 */
export declare const AttributeTypeSchema: z.ZodEnum<{
    number: "number";
    boolean: "boolean";
    text: "text";
}>;
/**
 * The possible types of attributes.
 */
export type AttributeType = z.infer<typeof AttributeTypeSchema>;
/**
 * Schema for a single attribute.
 */
export declare const AttributeItemSchema: z.ZodObject<{
    key: z.ZodString;
    description: z.ZodString;
    value: z.ZodUnion<readonly [z.ZodString, z.ZodBoolean]>;
    type: z.ZodEnum<{
        number: "number";
        boolean: "boolean";
        text: "text";
    }>;
}, z.core.$loose>;
/**
 * A single attribute.
 */
export type AttributeItem = z.infer<typeof AttributeItemSchema>;
/**
 * Schema for an attribute collection.
 */
export declare const AttributesSchema: z.ZodObject<{
    items: z.ZodArray<z.ZodObject<{
        key: z.ZodString;
        description: z.ZodString;
        value: z.ZodUnion<readonly [z.ZodString, z.ZodBoolean]>;
        type: z.ZodEnum<{
            number: "number";
            boolean: "boolean";
            text: "text";
        }>;
    }, z.core.$loose>>;
}, z.core.$loose>;
/**
 * Represents an attribute collection.
 */
export type Attributes = z.infer<typeof AttributesSchema>;
