import { z } from 'zod';
import { DimensionType, MetricType } from '../../../../types/field';
import { FilterOperator, FilterType, UnitOfTime } from '../../../../types/filter';
declare const dateFilterSchema: z.ZodUnion<[z.ZodObject<{
    fieldId: z.ZodString;
    fieldType: z.ZodUnion<[z.ZodLiteral<DimensionType.DATE>, z.ZodLiteral<DimensionType.TIMESTAMP>, z.ZodLiteral<MetricType.DATE>, z.ZodLiteral<MetricType.TIMESTAMP>]>;
    fieldFilterType: z.ZodLiteral<FilterType.DATE>;
} & {
    operator: z.ZodUnion<[z.ZodLiteral<FilterOperator.NULL>, z.ZodLiteral<FilterOperator.NOT_NULL>]>;
}, "strip", z.ZodTypeAny, {
    operator: FilterOperator.NULL | FilterOperator.NOT_NULL;
    fieldId: string;
    fieldType: DimensionType.TIMESTAMP | DimensionType.DATE | MetricType.DATE | MetricType.TIMESTAMP;
    fieldFilterType: FilterType.DATE;
}, {
    operator: FilterOperator.NULL | FilterOperator.NOT_NULL;
    fieldId: string;
    fieldType: DimensionType.TIMESTAMP | DimensionType.DATE | MetricType.DATE | MetricType.TIMESTAMP;
    fieldFilterType: FilterType.DATE;
}>, z.ZodObject<{
    fieldId: z.ZodString;
    fieldType: z.ZodUnion<[z.ZodLiteral<DimensionType.DATE>, z.ZodLiteral<DimensionType.TIMESTAMP>, z.ZodLiteral<MetricType.DATE>, z.ZodLiteral<MetricType.TIMESTAMP>]>;
    fieldFilterType: z.ZodLiteral<FilterType.DATE>;
} & {
    operator: z.ZodUnion<[z.ZodLiteral<FilterOperator.EQUALS>, z.ZodLiteral<FilterOperator.NOT_EQUALS>]>;
    values: z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodString]>, "many">;
}, "strip", z.ZodTypeAny, {
    values: string[];
    operator: FilterOperator.EQUALS | FilterOperator.NOT_EQUALS;
    fieldId: string;
    fieldType: DimensionType.TIMESTAMP | DimensionType.DATE | MetricType.DATE | MetricType.TIMESTAMP;
    fieldFilterType: FilterType.DATE;
}, {
    values: string[];
    operator: FilterOperator.EQUALS | FilterOperator.NOT_EQUALS;
    fieldId: string;
    fieldType: DimensionType.TIMESTAMP | DimensionType.DATE | MetricType.DATE | MetricType.TIMESTAMP;
    fieldFilterType: FilterType.DATE;
}>, z.ZodObject<{
    fieldId: z.ZodString;
    fieldType: z.ZodUnion<[z.ZodLiteral<DimensionType.DATE>, z.ZodLiteral<DimensionType.TIMESTAMP>, z.ZodLiteral<MetricType.DATE>, z.ZodLiteral<MetricType.TIMESTAMP>]>;
    fieldFilterType: z.ZodLiteral<FilterType.DATE>;
} & {
    operator: z.ZodUnion<[z.ZodLiteral<FilterOperator.IN_THE_PAST>, z.ZodLiteral<FilterOperator.NOT_IN_THE_PAST>, z.ZodLiteral<FilterOperator.IN_THE_NEXT>]>;
    values: z.ZodArray<z.ZodNumber, "many">;
    settings: z.ZodObject<{
        completed: z.ZodBoolean;
        unitOfTime: z.ZodUnion<[z.ZodLiteral<UnitOfTime.days>, z.ZodLiteral<UnitOfTime.weeks>, z.ZodLiteral<UnitOfTime.months>, z.ZodLiteral<UnitOfTime.quarters>, z.ZodLiteral<UnitOfTime.years>]>;
    }, "strip", z.ZodTypeAny, {
        unitOfTime: UnitOfTime.days | UnitOfTime.weeks | UnitOfTime.months | UnitOfTime.quarters | UnitOfTime.years;
        completed: boolean;
    }, {
        unitOfTime: UnitOfTime.days | UnitOfTime.weeks | UnitOfTime.months | UnitOfTime.quarters | UnitOfTime.years;
        completed: boolean;
    }>;
}, "strip", z.ZodTypeAny, {
    values: number[];
    settings: {
        unitOfTime: UnitOfTime.days | UnitOfTime.weeks | UnitOfTime.months | UnitOfTime.quarters | UnitOfTime.years;
        completed: boolean;
    };
    operator: FilterOperator.IN_THE_PAST | FilterOperator.NOT_IN_THE_PAST | FilterOperator.IN_THE_NEXT;
    fieldId: string;
    fieldType: DimensionType.TIMESTAMP | DimensionType.DATE | MetricType.DATE | MetricType.TIMESTAMP;
    fieldFilterType: FilterType.DATE;
}, {
    values: number[];
    settings: {
        unitOfTime: UnitOfTime.days | UnitOfTime.weeks | UnitOfTime.months | UnitOfTime.quarters | UnitOfTime.years;
        completed: boolean;
    };
    operator: FilterOperator.IN_THE_PAST | FilterOperator.NOT_IN_THE_PAST | FilterOperator.IN_THE_NEXT;
    fieldId: string;
    fieldType: DimensionType.TIMESTAMP | DimensionType.DATE | MetricType.DATE | MetricType.TIMESTAMP;
    fieldFilterType: FilterType.DATE;
}>, z.ZodObject<{
    fieldId: z.ZodString;
    fieldType: z.ZodUnion<[z.ZodLiteral<DimensionType.DATE>, z.ZodLiteral<DimensionType.TIMESTAMP>, z.ZodLiteral<MetricType.DATE>, z.ZodLiteral<MetricType.TIMESTAMP>]>;
    fieldFilterType: z.ZodLiteral<FilterType.DATE>;
} & {
    operator: z.ZodUnion<[z.ZodLiteral<FilterOperator.IN_THE_CURRENT>, z.ZodLiteral<FilterOperator.NOT_IN_THE_CURRENT>]>;
    values: z.ZodArray<z.ZodLiteral<1>, "many">;
    settings: z.ZodObject<{
        completed: z.ZodLiteral<false>;
        unitOfTime: z.ZodUnion<[z.ZodLiteral<UnitOfTime.days>, z.ZodLiteral<UnitOfTime.weeks>, z.ZodLiteral<UnitOfTime.months>, z.ZodLiteral<UnitOfTime.quarters>, z.ZodLiteral<UnitOfTime.years>]>;
    }, "strip", z.ZodTypeAny, {
        unitOfTime: UnitOfTime.days | UnitOfTime.weeks | UnitOfTime.months | UnitOfTime.quarters | UnitOfTime.years;
        completed: false;
    }, {
        unitOfTime: UnitOfTime.days | UnitOfTime.weeks | UnitOfTime.months | UnitOfTime.quarters | UnitOfTime.years;
        completed: false;
    }>;
}, "strip", z.ZodTypeAny, {
    values: 1[];
    settings: {
        unitOfTime: UnitOfTime.days | UnitOfTime.weeks | UnitOfTime.months | UnitOfTime.quarters | UnitOfTime.years;
        completed: false;
    };
    operator: FilterOperator.IN_THE_CURRENT | FilterOperator.NOT_IN_THE_CURRENT;
    fieldId: string;
    fieldType: DimensionType.TIMESTAMP | DimensionType.DATE | MetricType.DATE | MetricType.TIMESTAMP;
    fieldFilterType: FilterType.DATE;
}, {
    values: 1[];
    settings: {
        unitOfTime: UnitOfTime.days | UnitOfTime.weeks | UnitOfTime.months | UnitOfTime.quarters | UnitOfTime.years;
        completed: false;
    };
    operator: FilterOperator.IN_THE_CURRENT | FilterOperator.NOT_IN_THE_CURRENT;
    fieldId: string;
    fieldType: DimensionType.TIMESTAMP | DimensionType.DATE | MetricType.DATE | MetricType.TIMESTAMP;
    fieldFilterType: FilterType.DATE;
}>, z.ZodObject<{
    fieldId: z.ZodString;
    fieldType: z.ZodUnion<[z.ZodLiteral<DimensionType.DATE>, z.ZodLiteral<DimensionType.TIMESTAMP>, z.ZodLiteral<MetricType.DATE>, z.ZodLiteral<MetricType.TIMESTAMP>]>;
    fieldFilterType: z.ZodLiteral<FilterType.DATE>;
} & {
    operator: z.ZodUnion<[z.ZodLiteral<FilterOperator.LESS_THAN>, z.ZodLiteral<FilterOperator.LESS_THAN_OR_EQUAL>, z.ZodLiteral<FilterOperator.GREATER_THAN>, z.ZodLiteral<FilterOperator.GREATER_THAN_OR_EQUAL>]>;
    values: z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodString]>, "many">;
}, "strip", z.ZodTypeAny, {
    values: string[];
    operator: FilterOperator.LESS_THAN | FilterOperator.LESS_THAN_OR_EQUAL | FilterOperator.GREATER_THAN | FilterOperator.GREATER_THAN_OR_EQUAL;
    fieldId: string;
    fieldType: DimensionType.TIMESTAMP | DimensionType.DATE | MetricType.DATE | MetricType.TIMESTAMP;
    fieldFilterType: FilterType.DATE;
}, {
    values: string[];
    operator: FilterOperator.LESS_THAN | FilterOperator.LESS_THAN_OR_EQUAL | FilterOperator.GREATER_THAN | FilterOperator.GREATER_THAN_OR_EQUAL;
    fieldId: string;
    fieldType: DimensionType.TIMESTAMP | DimensionType.DATE | MetricType.DATE | MetricType.TIMESTAMP;
    fieldFilterType: FilterType.DATE;
}>, z.ZodObject<{
    fieldId: z.ZodString;
    fieldType: z.ZodUnion<[z.ZodLiteral<DimensionType.DATE>, z.ZodLiteral<DimensionType.TIMESTAMP>, z.ZodLiteral<MetricType.DATE>, z.ZodLiteral<MetricType.TIMESTAMP>]>;
    fieldFilterType: z.ZodLiteral<FilterType.DATE>;
} & {
    operator: z.ZodLiteral<FilterOperator.IN_BETWEEN>;
    values: z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodString]>, "many">;
}, "strip", z.ZodTypeAny, {
    values: string[];
    operator: FilterOperator.IN_BETWEEN;
    fieldId: string;
    fieldType: DimensionType.TIMESTAMP | DimensionType.DATE | MetricType.DATE | MetricType.TIMESTAMP;
    fieldFilterType: FilterType.DATE;
}, {
    values: string[];
    operator: FilterOperator.IN_BETWEEN;
    fieldId: string;
    fieldType: DimensionType.TIMESTAMP | DimensionType.DATE | MetricType.DATE | MetricType.TIMESTAMP;
    fieldFilterType: FilterType.DATE;
}>]>;
export default dateFilterSchema;
//# sourceMappingURL=dateFilters.d.ts.map