import { z } from 'zod';
import { ElementType, IntensityClass, IntensityMetric, IntensityTargetType, LengthMetric, LengthUnit } from '../../types/index.js';
export declare const WorkoutLengthUnitSchema: z.ZodEnum<typeof LengthUnit>;
export declare const WorkoutIntensityClassSchema: z.ZodEnum<typeof IntensityClass>;
export declare const WorkoutLengthMetricSchema: z.ZodEnum<typeof LengthMetric>;
export declare const WorkoutIntensityMetricSchema: z.ZodEnum<typeof IntensityMetric>;
export declare const WorkoutIntensityTargetTypeSchema: z.ZodEnum<typeof IntensityTargetType>;
export declare const WorkoutLengthSchema: z.ZodObject<{
    value: z.ZodNumber;
    unit: z.ZodEnum<typeof LengthUnit>;
}, z.core.$strip>;
export declare const WorkoutTargetSchema: z.ZodObject<{
    minValue: z.ZodNumber;
    maxValue: z.ZodNumber;
}, z.core.$strip>;
export declare const WorkoutStepSchema: z.ZodObject<{
    name: z.ZodString;
    length: z.ZodObject<{
        value: z.ZodNumber;
        unit: z.ZodEnum<typeof LengthUnit>;
    }, z.core.$strip>;
    targets: z.ZodArray<z.ZodObject<{
        minValue: z.ZodNumber;
        maxValue: z.ZodNumber;
    }, z.core.$strip>>;
    intensityClass: z.ZodEnum<typeof IntensityClass>;
    openDuration: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
export declare const WorkoutElementTypeSchema: z.ZodEnum<typeof ElementType>;
export declare const WorkoutStructureElementSchema: z.ZodObject<{
    type: z.ZodEnum<typeof ElementType>;
    length: z.ZodObject<{
        value: z.ZodNumber;
        unit: z.ZodEnum<typeof LengthUnit>;
    }, z.core.$strip>;
    steps: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        length: z.ZodObject<{
            value: z.ZodNumber;
            unit: z.ZodEnum<typeof LengthUnit>;
        }, z.core.$strip>;
        targets: z.ZodArray<z.ZodObject<{
            minValue: z.ZodNumber;
            maxValue: z.ZodNumber;
        }, z.core.$strip>>;
        intensityClass: z.ZodEnum<typeof IntensityClass>;
        openDuration: z.ZodDefault<z.ZodBoolean>;
    }, z.core.$strip>>;
    begin: z.ZodNumber;
    end: z.ZodNumber;
}, z.core.$strip>;
export declare const WorkoutStructureSchema: z.ZodObject<{
    structure: z.ZodArray<z.ZodObject<{
        type: z.ZodEnum<typeof ElementType>;
        length: z.ZodObject<{
            value: z.ZodNumber;
            unit: z.ZodEnum<typeof LengthUnit>;
        }, z.core.$strip>;
        steps: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            length: z.ZodObject<{
                value: z.ZodNumber;
                unit: z.ZodEnum<typeof LengthUnit>;
            }, z.core.$strip>;
            targets: z.ZodArray<z.ZodObject<{
                minValue: z.ZodNumber;
                maxValue: z.ZodNumber;
            }, z.core.$strip>>;
            intensityClass: z.ZodEnum<typeof IntensityClass>;
            openDuration: z.ZodDefault<z.ZodBoolean>;
        }, z.core.$strip>>;
        begin: z.ZodNumber;
        end: z.ZodNumber;
    }, z.core.$strip>>;
    polyline: z.ZodArray<z.ZodArray<z.ZodNumber>>;
    primaryLengthMetric: z.ZodEnum<typeof LengthMetric>;
    primaryIntensityMetric: z.ZodEnum<typeof IntensityMetric>;
    primaryIntensityTargetOrRange: z.ZodEnum<typeof IntensityTargetType>;
}, z.core.$strip>;
export type WorkoutLengthUnit = z.infer<typeof WorkoutLengthUnitSchema>;
export type WorkoutIntensityClass = z.infer<typeof WorkoutIntensityClassSchema>;
export type WorkoutLengthMetric = z.infer<typeof WorkoutLengthMetricSchema>;
export type WorkoutIntensityMetric = z.infer<typeof WorkoutIntensityMetricSchema>;
export type WorkoutIntensityTargetType = z.infer<typeof WorkoutIntensityTargetTypeSchema>;
export type WorkoutLength = z.infer<typeof WorkoutLengthSchema>;
export type WorkoutTarget = z.infer<typeof WorkoutTargetSchema>;
export type WorkoutStep = z.infer<typeof WorkoutStepSchema>;
export type WorkoutElementType = z.infer<typeof WorkoutElementTypeSchema>;
export type WorkoutStructureElement = z.infer<typeof WorkoutStructureElementSchema>;
export type WorkoutStructure = z.infer<typeof WorkoutStructureSchema>;
//# sourceMappingURL=workout-structure.schema.d.ts.map