import { z } from "zod";
const zMeasureSelector = z.object({
    field: z.string(),
    operator: z["enum"]([
        '=',
        '==',
        '!=',
        '>',
        '<',
        '>=',
        '<=',
        'between'
    ]).nullish(),
    op: z["enum"]([
        '=',
        '==',
        '!=',
        '>',
        '<',
        '>=',
        '<=',
        'between'
    ]).nullish(),
    value: z.union([
        z.string(),
        z.number(),
        z.array(z.union([
            z.string(),
            z.number()
        ]))
    ])
});
const zDimensionSelector = z.object({
    field: z.string(),
    operator: z["enum"]([
        'in',
        'not in'
    ]).nullish(),
    op: z["enum"]([
        'in',
        'not in'
    ]).nullish(),
    value: z.union([
        z.string(),
        z.number(),
        z.array(z.union([
            z.string(),
            z.number()
        ]))
    ])
});
const zSelector = z.union([
    z.string(),
    z.number(),
    zMeasureSelector,
    zDimensionSelector
]);
const zSelectors = z.array(zSelector);
const zAreaSelector = z.union([
    zMeasureSelector,
    zDimensionSelector
]);
const zAreaSelectors = z.array(zAreaSelector);
export { zAreaSelector, zAreaSelectors, zDimensionSelector, zMeasureSelector, zSelector, zSelectors };

//# sourceMappingURL=selector.js.map