import { FilterString, FilterNumber, FilterBoolean, FilterArray, FilterStringOperator, FilterNumberOperator, FilterBooleanOperator, FilterArrayOperator } from './filters_common.js';
import { PartitionField, PartitionRawEnumField } from './partitions_fields.js';
import _m0 from 'protobufjs/minimal.js';
import './google/protobuf/duration.js';

declare const protobufPackage = "armonik.api.grpc.v1.partitions";
interface FilterField {
    field: PartitionField | undefined;
    filterString?: FilterString | undefined;
    filterNumber?: FilterNumber | undefined;
    filterBoolean?: FilterBoolean | undefined;
    filterArray?: FilterArray | undefined;
}
declare const FilterField: {
    encode(message: FilterField, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): FilterField;
    fromJSON(object: any): FilterField;
    toJSON(message: FilterField): unknown;
    create<I extends {
        field?: {
            partitionRawField?: {
                field?: PartitionRawEnumField | undefined;
            } | undefined;
        } | undefined;
        filterString?: {
            value?: string | undefined;
            operator?: FilterStringOperator | undefined;
        } | undefined;
        filterNumber?: {
            value?: number | undefined;
            operator?: FilterNumberOperator | undefined;
        } | undefined;
        filterBoolean?: {
            value?: boolean | undefined;
            operator?: FilterBooleanOperator | undefined;
        } | undefined;
        filterArray?: {
            value?: string | undefined;
            operator?: FilterArrayOperator | undefined;
        } | undefined;
    } & {
        field?: ({
            partitionRawField?: {
                field?: PartitionRawEnumField | undefined;
            } | undefined;
        } & {
            partitionRawField?: ({
                field?: PartitionRawEnumField | undefined;
            } & {
                field?: PartitionRawEnumField | undefined;
            } & { [K in Exclude<keyof I["field"]["partitionRawField"], "field">]: never; }) | undefined;
        } & { [K_1 in Exclude<keyof I["field"], "partitionRawField">]: never; }) | undefined;
        filterString?: ({
            value?: string | undefined;
            operator?: FilterStringOperator | undefined;
        } & {
            value?: string | undefined;
            operator?: FilterStringOperator | undefined;
        } & { [K_2 in Exclude<keyof I["filterString"], keyof FilterString>]: never; }) | undefined;
        filterNumber?: ({
            value?: number | undefined;
            operator?: FilterNumberOperator | undefined;
        } & {
            value?: number | undefined;
            operator?: FilterNumberOperator | undefined;
        } & { [K_3 in Exclude<keyof I["filterNumber"], keyof FilterNumber>]: never; }) | undefined;
        filterBoolean?: ({
            value?: boolean | undefined;
            operator?: FilterBooleanOperator | undefined;
        } & {
            value?: boolean | undefined;
            operator?: FilterBooleanOperator | undefined;
        } & { [K_4 in Exclude<keyof I["filterBoolean"], keyof FilterBoolean>]: never; }) | undefined;
        filterArray?: ({
            value?: string | undefined;
            operator?: FilterArrayOperator | undefined;
        } & {
            value?: string | undefined;
            operator?: FilterArrayOperator | undefined;
        } & { [K_5 in Exclude<keyof I["filterArray"], keyof FilterArray>]: never; }) | undefined;
    } & { [K_6 in Exclude<keyof I, keyof FilterField>]: never; }>(base?: I | undefined): FilterField;
    fromPartial<I_1 extends {
        field?: {
            partitionRawField?: {
                field?: PartitionRawEnumField | undefined;
            } | undefined;
        } | undefined;
        filterString?: {
            value?: string | undefined;
            operator?: FilterStringOperator | undefined;
        } | undefined;
        filterNumber?: {
            value?: number | undefined;
            operator?: FilterNumberOperator | undefined;
        } | undefined;
        filterBoolean?: {
            value?: boolean | undefined;
            operator?: FilterBooleanOperator | undefined;
        } | undefined;
        filterArray?: {
            value?: string | undefined;
            operator?: FilterArrayOperator | undefined;
        } | undefined;
    } & {
        field?: ({
            partitionRawField?: {
                field?: PartitionRawEnumField | undefined;
            } | undefined;
        } & {
            partitionRawField?: ({
                field?: PartitionRawEnumField | undefined;
            } & {
                field?: PartitionRawEnumField | undefined;
            } & { [K_7 in Exclude<keyof I_1["field"]["partitionRawField"], "field">]: never; }) | undefined;
        } & { [K_8 in Exclude<keyof I_1["field"], "partitionRawField">]: never; }) | undefined;
        filterString?: ({
            value?: string | undefined;
            operator?: FilterStringOperator | undefined;
        } & {
            value?: string | undefined;
            operator?: FilterStringOperator | undefined;
        } & { [K_9 in Exclude<keyof I_1["filterString"], keyof FilterString>]: never; }) | undefined;
        filterNumber?: ({
            value?: number | undefined;
            operator?: FilterNumberOperator | undefined;
        } & {
            value?: number | undefined;
            operator?: FilterNumberOperator | undefined;
        } & { [K_10 in Exclude<keyof I_1["filterNumber"], keyof FilterNumber>]: never; }) | undefined;
        filterBoolean?: ({
            value?: boolean | undefined;
            operator?: FilterBooleanOperator | undefined;
        } & {
            value?: boolean | undefined;
            operator?: FilterBooleanOperator | undefined;
        } & { [K_11 in Exclude<keyof I_1["filterBoolean"], keyof FilterBoolean>]: never; }) | undefined;
        filterArray?: ({
            value?: string | undefined;
            operator?: FilterArrayOperator | undefined;
        } & {
            value?: string | undefined;
            operator?: FilterArrayOperator | undefined;
        } & { [K_12 in Exclude<keyof I_1["filterArray"], keyof FilterArray>]: never; }) | undefined;
    } & { [K_13 in Exclude<keyof I_1, keyof FilterField>]: never; }>(object: I_1): FilterField;
};
interface FiltersAnd {
    and: FilterField[];
}
declare const FiltersAnd: {
    encode(message: FiltersAnd, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): FiltersAnd;
    fromJSON(object: any): FiltersAnd;
    toJSON(message: FiltersAnd): unknown;
    create<I extends {
        and?: {
            field?: {
                partitionRawField?: {
                    field?: PartitionRawEnumField | undefined;
                } | undefined;
            } | undefined;
            filterString?: {
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } | undefined;
            filterNumber?: {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } | undefined;
            filterBoolean?: {
                value?: boolean | undefined;
                operator?: FilterBooleanOperator | undefined;
            } | undefined;
            filterArray?: {
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } | undefined;
        }[] | undefined;
    } & {
        and?: ({
            field?: {
                partitionRawField?: {
                    field?: PartitionRawEnumField | undefined;
                } | undefined;
            } | undefined;
            filterString?: {
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } | undefined;
            filterNumber?: {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } | undefined;
            filterBoolean?: {
                value?: boolean | undefined;
                operator?: FilterBooleanOperator | undefined;
            } | undefined;
            filterArray?: {
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } | undefined;
        }[] & ({
            field?: {
                partitionRawField?: {
                    field?: PartitionRawEnumField | undefined;
                } | undefined;
            } | undefined;
            filterString?: {
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } | undefined;
            filterNumber?: {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } | undefined;
            filterBoolean?: {
                value?: boolean | undefined;
                operator?: FilterBooleanOperator | undefined;
            } | undefined;
            filterArray?: {
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } | undefined;
        } & {
            field?: ({
                partitionRawField?: {
                    field?: PartitionRawEnumField | undefined;
                } | undefined;
            } & {
                partitionRawField?: ({
                    field?: PartitionRawEnumField | undefined;
                } & {
                    field?: PartitionRawEnumField | undefined;
                } & { [K in Exclude<keyof I["and"][number]["field"]["partitionRawField"], "field">]: never; }) | undefined;
            } & { [K_1 in Exclude<keyof I["and"][number]["field"], "partitionRawField">]: never; }) | undefined;
            filterString?: ({
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } & {
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } & { [K_2 in Exclude<keyof I["and"][number]["filterString"], keyof FilterString>]: never; }) | undefined;
            filterNumber?: ({
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } & {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } & { [K_3 in Exclude<keyof I["and"][number]["filterNumber"], keyof FilterNumber>]: never; }) | undefined;
            filterBoolean?: ({
                value?: boolean | undefined;
                operator?: FilterBooleanOperator | undefined;
            } & {
                value?: boolean | undefined;
                operator?: FilterBooleanOperator | undefined;
            } & { [K_4 in Exclude<keyof I["and"][number]["filterBoolean"], keyof FilterBoolean>]: never; }) | undefined;
            filterArray?: ({
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } & {
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } & { [K_5 in Exclude<keyof I["and"][number]["filterArray"], keyof FilterArray>]: never; }) | undefined;
        } & { [K_6 in Exclude<keyof I["and"][number], keyof FilterField>]: never; })[] & { [K_7 in Exclude<keyof I["and"], keyof {
            field?: {
                partitionRawField?: {
                    field?: PartitionRawEnumField | undefined;
                } | undefined;
            } | undefined;
            filterString?: {
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } | undefined;
            filterNumber?: {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } | undefined;
            filterBoolean?: {
                value?: boolean | undefined;
                operator?: FilterBooleanOperator | undefined;
            } | undefined;
            filterArray?: {
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_8 in Exclude<keyof I, "and">]: never; }>(base?: I | undefined): FiltersAnd;
    fromPartial<I_1 extends {
        and?: {
            field?: {
                partitionRawField?: {
                    field?: PartitionRawEnumField | undefined;
                } | undefined;
            } | undefined;
            filterString?: {
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } | undefined;
            filterNumber?: {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } | undefined;
            filterBoolean?: {
                value?: boolean | undefined;
                operator?: FilterBooleanOperator | undefined;
            } | undefined;
            filterArray?: {
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } | undefined;
        }[] | undefined;
    } & {
        and?: ({
            field?: {
                partitionRawField?: {
                    field?: PartitionRawEnumField | undefined;
                } | undefined;
            } | undefined;
            filterString?: {
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } | undefined;
            filterNumber?: {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } | undefined;
            filterBoolean?: {
                value?: boolean | undefined;
                operator?: FilterBooleanOperator | undefined;
            } | undefined;
            filterArray?: {
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } | undefined;
        }[] & ({
            field?: {
                partitionRawField?: {
                    field?: PartitionRawEnumField | undefined;
                } | undefined;
            } | undefined;
            filterString?: {
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } | undefined;
            filterNumber?: {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } | undefined;
            filterBoolean?: {
                value?: boolean | undefined;
                operator?: FilterBooleanOperator | undefined;
            } | undefined;
            filterArray?: {
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } | undefined;
        } & {
            field?: ({
                partitionRawField?: {
                    field?: PartitionRawEnumField | undefined;
                } | undefined;
            } & {
                partitionRawField?: ({
                    field?: PartitionRawEnumField | undefined;
                } & {
                    field?: PartitionRawEnumField | undefined;
                } & { [K_9 in Exclude<keyof I_1["and"][number]["field"]["partitionRawField"], "field">]: never; }) | undefined;
            } & { [K_10 in Exclude<keyof I_1["and"][number]["field"], "partitionRawField">]: never; }) | undefined;
            filterString?: ({
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } & {
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } & { [K_11 in Exclude<keyof I_1["and"][number]["filterString"], keyof FilterString>]: never; }) | undefined;
            filterNumber?: ({
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } & {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } & { [K_12 in Exclude<keyof I_1["and"][number]["filterNumber"], keyof FilterNumber>]: never; }) | undefined;
            filterBoolean?: ({
                value?: boolean | undefined;
                operator?: FilterBooleanOperator | undefined;
            } & {
                value?: boolean | undefined;
                operator?: FilterBooleanOperator | undefined;
            } & { [K_13 in Exclude<keyof I_1["and"][number]["filterBoolean"], keyof FilterBoolean>]: never; }) | undefined;
            filterArray?: ({
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } & {
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } & { [K_14 in Exclude<keyof I_1["and"][number]["filterArray"], keyof FilterArray>]: never; }) | undefined;
        } & { [K_15 in Exclude<keyof I_1["and"][number], keyof FilterField>]: never; })[] & { [K_16 in Exclude<keyof I_1["and"], keyof {
            field?: {
                partitionRawField?: {
                    field?: PartitionRawEnumField | undefined;
                } | undefined;
            } | undefined;
            filterString?: {
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } | undefined;
            filterNumber?: {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } | undefined;
            filterBoolean?: {
                value?: boolean | undefined;
                operator?: FilterBooleanOperator | undefined;
            } | undefined;
            filterArray?: {
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_17 in Exclude<keyof I_1, "and">]: never; }>(object: I_1): FiltersAnd;
};
interface Filters {
    or: FiltersAnd[];
}
declare const Filters: {
    encode(message: Filters, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Filters;
    fromJSON(object: any): Filters;
    toJSON(message: Filters): unknown;
    create<I extends {
        or?: {
            and?: {
                field?: {
                    partitionRawField?: {
                        field?: PartitionRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
                filterBoolean?: {
                    value?: boolean | undefined;
                    operator?: FilterBooleanOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
            }[] | undefined;
        }[] | undefined;
    } & {
        or?: ({
            and?: {
                field?: {
                    partitionRawField?: {
                        field?: PartitionRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
                filterBoolean?: {
                    value?: boolean | undefined;
                    operator?: FilterBooleanOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
            }[] | undefined;
        }[] & ({
            and?: {
                field?: {
                    partitionRawField?: {
                        field?: PartitionRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
                filterBoolean?: {
                    value?: boolean | undefined;
                    operator?: FilterBooleanOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
            }[] | undefined;
        } & {
            and?: ({
                field?: {
                    partitionRawField?: {
                        field?: PartitionRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
                filterBoolean?: {
                    value?: boolean | undefined;
                    operator?: FilterBooleanOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
            }[] & ({
                field?: {
                    partitionRawField?: {
                        field?: PartitionRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
                filterBoolean?: {
                    value?: boolean | undefined;
                    operator?: FilterBooleanOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
            } & {
                field?: ({
                    partitionRawField?: {
                        field?: PartitionRawEnumField | undefined;
                    } | undefined;
                } & {
                    partitionRawField?: ({
                        field?: PartitionRawEnumField | undefined;
                    } & {
                        field?: PartitionRawEnumField | undefined;
                    } & { [K in Exclude<keyof I["or"][number]["and"][number]["field"]["partitionRawField"], "field">]: never; }) | undefined;
                } & { [K_1 in Exclude<keyof I["or"][number]["and"][number]["field"], "partitionRawField">]: never; }) | undefined;
                filterString?: ({
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } & {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } & { [K_2 in Exclude<keyof I["or"][number]["and"][number]["filterString"], keyof FilterString>]: never; }) | undefined;
                filterNumber?: ({
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } & {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } & { [K_3 in Exclude<keyof I["or"][number]["and"][number]["filterNumber"], keyof FilterNumber>]: never; }) | undefined;
                filterBoolean?: ({
                    value?: boolean | undefined;
                    operator?: FilterBooleanOperator | undefined;
                } & {
                    value?: boolean | undefined;
                    operator?: FilterBooleanOperator | undefined;
                } & { [K_4 in Exclude<keyof I["or"][number]["and"][number]["filterBoolean"], keyof FilterBoolean>]: never; }) | undefined;
                filterArray?: ({
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } & {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } & { [K_5 in Exclude<keyof I["or"][number]["and"][number]["filterArray"], keyof FilterArray>]: never; }) | undefined;
            } & { [K_6 in Exclude<keyof I["or"][number]["and"][number], keyof FilterField>]: never; })[] & { [K_7 in Exclude<keyof I["or"][number]["and"], keyof {
                field?: {
                    partitionRawField?: {
                        field?: PartitionRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
                filterBoolean?: {
                    value?: boolean | undefined;
                    operator?: FilterBooleanOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_8 in Exclude<keyof I["or"][number], "and">]: never; })[] & { [K_9 in Exclude<keyof I["or"], keyof {
            and?: {
                field?: {
                    partitionRawField?: {
                        field?: PartitionRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
                filterBoolean?: {
                    value?: boolean | undefined;
                    operator?: FilterBooleanOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_10 in Exclude<keyof I, "or">]: never; }>(base?: I | undefined): Filters;
    fromPartial<I_1 extends {
        or?: {
            and?: {
                field?: {
                    partitionRawField?: {
                        field?: PartitionRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
                filterBoolean?: {
                    value?: boolean | undefined;
                    operator?: FilterBooleanOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
            }[] | undefined;
        }[] | undefined;
    } & {
        or?: ({
            and?: {
                field?: {
                    partitionRawField?: {
                        field?: PartitionRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
                filterBoolean?: {
                    value?: boolean | undefined;
                    operator?: FilterBooleanOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
            }[] | undefined;
        }[] & ({
            and?: {
                field?: {
                    partitionRawField?: {
                        field?: PartitionRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
                filterBoolean?: {
                    value?: boolean | undefined;
                    operator?: FilterBooleanOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
            }[] | undefined;
        } & {
            and?: ({
                field?: {
                    partitionRawField?: {
                        field?: PartitionRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
                filterBoolean?: {
                    value?: boolean | undefined;
                    operator?: FilterBooleanOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
            }[] & ({
                field?: {
                    partitionRawField?: {
                        field?: PartitionRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
                filterBoolean?: {
                    value?: boolean | undefined;
                    operator?: FilterBooleanOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
            } & {
                field?: ({
                    partitionRawField?: {
                        field?: PartitionRawEnumField | undefined;
                    } | undefined;
                } & {
                    partitionRawField?: ({
                        field?: PartitionRawEnumField | undefined;
                    } & {
                        field?: PartitionRawEnumField | undefined;
                    } & { [K_11 in Exclude<keyof I_1["or"][number]["and"][number]["field"]["partitionRawField"], "field">]: never; }) | undefined;
                } & { [K_12 in Exclude<keyof I_1["or"][number]["and"][number]["field"], "partitionRawField">]: never; }) | undefined;
                filterString?: ({
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } & {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } & { [K_13 in Exclude<keyof I_1["or"][number]["and"][number]["filterString"], keyof FilterString>]: never; }) | undefined;
                filterNumber?: ({
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } & {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } & { [K_14 in Exclude<keyof I_1["or"][number]["and"][number]["filterNumber"], keyof FilterNumber>]: never; }) | undefined;
                filterBoolean?: ({
                    value?: boolean | undefined;
                    operator?: FilterBooleanOperator | undefined;
                } & {
                    value?: boolean | undefined;
                    operator?: FilterBooleanOperator | undefined;
                } & { [K_15 in Exclude<keyof I_1["or"][number]["and"][number]["filterBoolean"], keyof FilterBoolean>]: never; }) | undefined;
                filterArray?: ({
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } & {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } & { [K_16 in Exclude<keyof I_1["or"][number]["and"][number]["filterArray"], keyof FilterArray>]: never; }) | undefined;
            } & { [K_17 in Exclude<keyof I_1["or"][number]["and"][number], keyof FilterField>]: never; })[] & { [K_18 in Exclude<keyof I_1["or"][number]["and"], keyof {
                field?: {
                    partitionRawField?: {
                        field?: PartitionRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
                filterBoolean?: {
                    value?: boolean | undefined;
                    operator?: FilterBooleanOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_19 in Exclude<keyof I_1["or"][number], "and">]: never; })[] & { [K_20 in Exclude<keyof I_1["or"], keyof {
            and?: {
                field?: {
                    partitionRawField?: {
                        field?: PartitionRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
                filterBoolean?: {
                    value?: boolean | undefined;
                    operator?: FilterBooleanOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_21 in Exclude<keyof I_1, "or">]: never; }>(object: I_1): Filters;
};
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never;
type Exact<P, I extends P> = P extends Builtin ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & {
    [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
};

export { DeepPartial, Exact, FilterField, Filters, FiltersAnd, protobufPackage };
