import { FilterStatusOperator, FilterString, FilterDate, FilterArray, FilterNumber, FilterStringOperator, FilterDateOperator, FilterArrayOperator, FilterNumberOperator } from './filters_common.js';
import { ResultField, ResultRawEnumField } from './results_fields.js';
import _m0 from 'protobufjs/minimal.js';
import { ResultStatus } from './result_status.js';
import './google/protobuf/duration.js';

declare const protobufPackage = "armonik.api.grpc.v1.results";
interface FilterStatus {
    value: ResultStatus;
    operator: FilterStatusOperator;
}
declare const FilterStatus: {
    encode(message: FilterStatus, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): FilterStatus;
    fromJSON(object: any): FilterStatus;
    toJSON(message: FilterStatus): unknown;
    create<I extends {
        value?: ResultStatus | undefined;
        operator?: FilterStatusOperator | undefined;
    } & {
        value?: ResultStatus | undefined;
        operator?: FilterStatusOperator | undefined;
    } & { [K in Exclude<keyof I, keyof FilterStatus>]: never; }>(base?: I | undefined): FilterStatus;
    fromPartial<I_1 extends {
        value?: ResultStatus | undefined;
        operator?: FilterStatusOperator | undefined;
    } & {
        value?: ResultStatus | undefined;
        operator?: FilterStatusOperator | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof FilterStatus>]: never; }>(object: I_1): FilterStatus;
};
interface FilterField {
    field: ResultField | undefined;
    filterString?: FilterString | undefined;
    filterDate?: FilterDate | undefined;
    filterArray?: FilterArray | undefined;
    filterStatus?: FilterStatus | undefined;
    filterNumber?: FilterNumber | 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?: {
            resultRawField?: {
                field?: ResultRawEnumField | undefined;
            } | undefined;
        } | undefined;
        filterString?: {
            value?: string | undefined;
            operator?: FilterStringOperator | undefined;
        } | undefined;
        filterDate?: {
            value?: Date | undefined;
            operator?: FilterDateOperator | undefined;
        } | undefined;
        filterArray?: {
            value?: string | undefined;
            operator?: FilterArrayOperator | undefined;
        } | undefined;
        filterStatus?: {
            value?: ResultStatus | undefined;
            operator?: FilterStatusOperator | undefined;
        } | undefined;
        filterNumber?: {
            value?: number | undefined;
            operator?: FilterNumberOperator | undefined;
        } | undefined;
    } & {
        field?: ({
            resultRawField?: {
                field?: ResultRawEnumField | undefined;
            } | undefined;
        } & {
            resultRawField?: ({
                field?: ResultRawEnumField | undefined;
            } & {
                field?: ResultRawEnumField | undefined;
            } & { [K in Exclude<keyof I["field"]["resultRawField"], "field">]: never; }) | undefined;
        } & { [K_1 in Exclude<keyof I["field"], "resultRawField">]: 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;
        filterDate?: ({
            value?: Date | undefined;
            operator?: FilterDateOperator | undefined;
        } & {
            value?: Date | undefined;
            operator?: FilterDateOperator | undefined;
        } & { [K_3 in Exclude<keyof I["filterDate"], keyof FilterDate>]: never; }) | undefined;
        filterArray?: ({
            value?: string | undefined;
            operator?: FilterArrayOperator | undefined;
        } & {
            value?: string | undefined;
            operator?: FilterArrayOperator | undefined;
        } & { [K_4 in Exclude<keyof I["filterArray"], keyof FilterArray>]: never; }) | undefined;
        filterStatus?: ({
            value?: ResultStatus | undefined;
            operator?: FilterStatusOperator | undefined;
        } & {
            value?: ResultStatus | undefined;
            operator?: FilterStatusOperator | undefined;
        } & { [K_5 in Exclude<keyof I["filterStatus"], keyof FilterStatus>]: never; }) | undefined;
        filterNumber?: ({
            value?: number | undefined;
            operator?: FilterNumberOperator | undefined;
        } & {
            value?: number | undefined;
            operator?: FilterNumberOperator | undefined;
        } & { [K_6 in Exclude<keyof I["filterNumber"], keyof FilterNumber>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I, keyof FilterField>]: never; }>(base?: I | undefined): FilterField;
    fromPartial<I_1 extends {
        field?: {
            resultRawField?: {
                field?: ResultRawEnumField | undefined;
            } | undefined;
        } | undefined;
        filterString?: {
            value?: string | undefined;
            operator?: FilterStringOperator | undefined;
        } | undefined;
        filterDate?: {
            value?: Date | undefined;
            operator?: FilterDateOperator | undefined;
        } | undefined;
        filterArray?: {
            value?: string | undefined;
            operator?: FilterArrayOperator | undefined;
        } | undefined;
        filterStatus?: {
            value?: ResultStatus | undefined;
            operator?: FilterStatusOperator | undefined;
        } | undefined;
        filterNumber?: {
            value?: number | undefined;
            operator?: FilterNumberOperator | undefined;
        } | undefined;
    } & {
        field?: ({
            resultRawField?: {
                field?: ResultRawEnumField | undefined;
            } | undefined;
        } & {
            resultRawField?: ({
                field?: ResultRawEnumField | undefined;
            } & {
                field?: ResultRawEnumField | undefined;
            } & { [K_8 in Exclude<keyof I_1["field"]["resultRawField"], "field">]: never; }) | undefined;
        } & { [K_9 in Exclude<keyof I_1["field"], "resultRawField">]: never; }) | undefined;
        filterString?: ({
            value?: string | undefined;
            operator?: FilterStringOperator | undefined;
        } & {
            value?: string | undefined;
            operator?: FilterStringOperator | undefined;
        } & { [K_10 in Exclude<keyof I_1["filterString"], keyof FilterString>]: never; }) | undefined;
        filterDate?: ({
            value?: Date | undefined;
            operator?: FilterDateOperator | undefined;
        } & {
            value?: Date | undefined;
            operator?: FilterDateOperator | undefined;
        } & { [K_11 in Exclude<keyof I_1["filterDate"], keyof FilterDate>]: 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;
        filterStatus?: ({
            value?: ResultStatus | undefined;
            operator?: FilterStatusOperator | undefined;
        } & {
            value?: ResultStatus | undefined;
            operator?: FilterStatusOperator | undefined;
        } & { [K_13 in Exclude<keyof I_1["filterStatus"], keyof FilterStatus>]: never; }) | undefined;
        filterNumber?: ({
            value?: number | undefined;
            operator?: FilterNumberOperator | undefined;
        } & {
            value?: number | undefined;
            operator?: FilterNumberOperator | undefined;
        } & { [K_14 in Exclude<keyof I_1["filterNumber"], keyof FilterNumber>]: never; }) | undefined;
    } & { [K_15 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?: {
                resultRawField?: {
                    field?: ResultRawEnumField | undefined;
                } | undefined;
            } | undefined;
            filterString?: {
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } | undefined;
            filterDate?: {
                value?: Date | undefined;
                operator?: FilterDateOperator | undefined;
            } | undefined;
            filterArray?: {
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } | undefined;
            filterStatus?: {
                value?: ResultStatus | undefined;
                operator?: FilterStatusOperator | undefined;
            } | undefined;
            filterNumber?: {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } | undefined;
        }[] | undefined;
    } & {
        and?: ({
            field?: {
                resultRawField?: {
                    field?: ResultRawEnumField | undefined;
                } | undefined;
            } | undefined;
            filterString?: {
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } | undefined;
            filterDate?: {
                value?: Date | undefined;
                operator?: FilterDateOperator | undefined;
            } | undefined;
            filterArray?: {
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } | undefined;
            filterStatus?: {
                value?: ResultStatus | undefined;
                operator?: FilterStatusOperator | undefined;
            } | undefined;
            filterNumber?: {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } | undefined;
        }[] & ({
            field?: {
                resultRawField?: {
                    field?: ResultRawEnumField | undefined;
                } | undefined;
            } | undefined;
            filterString?: {
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } | undefined;
            filterDate?: {
                value?: Date | undefined;
                operator?: FilterDateOperator | undefined;
            } | undefined;
            filterArray?: {
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } | undefined;
            filterStatus?: {
                value?: ResultStatus | undefined;
                operator?: FilterStatusOperator | undefined;
            } | undefined;
            filterNumber?: {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } | undefined;
        } & {
            field?: ({
                resultRawField?: {
                    field?: ResultRawEnumField | undefined;
                } | undefined;
            } & {
                resultRawField?: ({
                    field?: ResultRawEnumField | undefined;
                } & {
                    field?: ResultRawEnumField | undefined;
                } & { [K in Exclude<keyof I["and"][number]["field"]["resultRawField"], "field">]: never; }) | undefined;
            } & { [K_1 in Exclude<keyof I["and"][number]["field"], "resultRawField">]: 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;
            filterDate?: ({
                value?: Date | undefined;
                operator?: FilterDateOperator | undefined;
            } & {
                value?: Date | undefined;
                operator?: FilterDateOperator | undefined;
            } & { [K_3 in Exclude<keyof I["and"][number]["filterDate"], keyof FilterDate>]: never; }) | undefined;
            filterArray?: ({
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } & {
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } & { [K_4 in Exclude<keyof I["and"][number]["filterArray"], keyof FilterArray>]: never; }) | undefined;
            filterStatus?: ({
                value?: ResultStatus | undefined;
                operator?: FilterStatusOperator | undefined;
            } & {
                value?: ResultStatus | undefined;
                operator?: FilterStatusOperator | undefined;
            } & { [K_5 in Exclude<keyof I["and"][number]["filterStatus"], keyof FilterStatus>]: never; }) | undefined;
            filterNumber?: ({
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } & {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } & { [K_6 in Exclude<keyof I["and"][number]["filterNumber"], keyof FilterNumber>]: never; }) | undefined;
        } & { [K_7 in Exclude<keyof I["and"][number], keyof FilterField>]: never; })[] & { [K_8 in Exclude<keyof I["and"], keyof {
            field?: {
                resultRawField?: {
                    field?: ResultRawEnumField | undefined;
                } | undefined;
            } | undefined;
            filterString?: {
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } | undefined;
            filterDate?: {
                value?: Date | undefined;
                operator?: FilterDateOperator | undefined;
            } | undefined;
            filterArray?: {
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } | undefined;
            filterStatus?: {
                value?: ResultStatus | undefined;
                operator?: FilterStatusOperator | undefined;
            } | undefined;
            filterNumber?: {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_9 in Exclude<keyof I, "and">]: never; }>(base?: I | undefined): FiltersAnd;
    fromPartial<I_1 extends {
        and?: {
            field?: {
                resultRawField?: {
                    field?: ResultRawEnumField | undefined;
                } | undefined;
            } | undefined;
            filterString?: {
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } | undefined;
            filterDate?: {
                value?: Date | undefined;
                operator?: FilterDateOperator | undefined;
            } | undefined;
            filterArray?: {
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } | undefined;
            filterStatus?: {
                value?: ResultStatus | undefined;
                operator?: FilterStatusOperator | undefined;
            } | undefined;
            filterNumber?: {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } | undefined;
        }[] | undefined;
    } & {
        and?: ({
            field?: {
                resultRawField?: {
                    field?: ResultRawEnumField | undefined;
                } | undefined;
            } | undefined;
            filterString?: {
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } | undefined;
            filterDate?: {
                value?: Date | undefined;
                operator?: FilterDateOperator | undefined;
            } | undefined;
            filterArray?: {
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } | undefined;
            filterStatus?: {
                value?: ResultStatus | undefined;
                operator?: FilterStatusOperator | undefined;
            } | undefined;
            filterNumber?: {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } | undefined;
        }[] & ({
            field?: {
                resultRawField?: {
                    field?: ResultRawEnumField | undefined;
                } | undefined;
            } | undefined;
            filterString?: {
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } | undefined;
            filterDate?: {
                value?: Date | undefined;
                operator?: FilterDateOperator | undefined;
            } | undefined;
            filterArray?: {
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } | undefined;
            filterStatus?: {
                value?: ResultStatus | undefined;
                operator?: FilterStatusOperator | undefined;
            } | undefined;
            filterNumber?: {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } | undefined;
        } & {
            field?: ({
                resultRawField?: {
                    field?: ResultRawEnumField | undefined;
                } | undefined;
            } & {
                resultRawField?: ({
                    field?: ResultRawEnumField | undefined;
                } & {
                    field?: ResultRawEnumField | undefined;
                } & { [K_10 in Exclude<keyof I_1["and"][number]["field"]["resultRawField"], "field">]: never; }) | undefined;
            } & { [K_11 in Exclude<keyof I_1["and"][number]["field"], "resultRawField">]: never; }) | undefined;
            filterString?: ({
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } & {
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } & { [K_12 in Exclude<keyof I_1["and"][number]["filterString"], keyof FilterString>]: never; }) | undefined;
            filterDate?: ({
                value?: Date | undefined;
                operator?: FilterDateOperator | undefined;
            } & {
                value?: Date | undefined;
                operator?: FilterDateOperator | undefined;
            } & { [K_13 in Exclude<keyof I_1["and"][number]["filterDate"], keyof FilterDate>]: 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;
            filterStatus?: ({
                value?: ResultStatus | undefined;
                operator?: FilterStatusOperator | undefined;
            } & {
                value?: ResultStatus | undefined;
                operator?: FilterStatusOperator | undefined;
            } & { [K_15 in Exclude<keyof I_1["and"][number]["filterStatus"], keyof FilterStatus>]: never; }) | undefined;
            filterNumber?: ({
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } & {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } & { [K_16 in Exclude<keyof I_1["and"][number]["filterNumber"], keyof FilterNumber>]: never; }) | undefined;
        } & { [K_17 in Exclude<keyof I_1["and"][number], keyof FilterField>]: never; })[] & { [K_18 in Exclude<keyof I_1["and"], keyof {
            field?: {
                resultRawField?: {
                    field?: ResultRawEnumField | undefined;
                } | undefined;
            } | undefined;
            filterString?: {
                value?: string | undefined;
                operator?: FilterStringOperator | undefined;
            } | undefined;
            filterDate?: {
                value?: Date | undefined;
                operator?: FilterDateOperator | undefined;
            } | undefined;
            filterArray?: {
                value?: string | undefined;
                operator?: FilterArrayOperator | undefined;
            } | undefined;
            filterStatus?: {
                value?: ResultStatus | undefined;
                operator?: FilterStatusOperator | undefined;
            } | undefined;
            filterNumber?: {
                value?: number | undefined;
                operator?: FilterNumberOperator | undefined;
            } | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_19 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?: {
                    resultRawField?: {
                        field?: ResultRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterDate?: {
                    value?: Date | undefined;
                    operator?: FilterDateOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
                filterStatus?: {
                    value?: ResultStatus | undefined;
                    operator?: FilterStatusOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
            }[] | undefined;
        }[] | undefined;
    } & {
        or?: ({
            and?: {
                field?: {
                    resultRawField?: {
                        field?: ResultRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterDate?: {
                    value?: Date | undefined;
                    operator?: FilterDateOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
                filterStatus?: {
                    value?: ResultStatus | undefined;
                    operator?: FilterStatusOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
            }[] | undefined;
        }[] & ({
            and?: {
                field?: {
                    resultRawField?: {
                        field?: ResultRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterDate?: {
                    value?: Date | undefined;
                    operator?: FilterDateOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
                filterStatus?: {
                    value?: ResultStatus | undefined;
                    operator?: FilterStatusOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
            }[] | undefined;
        } & {
            and?: ({
                field?: {
                    resultRawField?: {
                        field?: ResultRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterDate?: {
                    value?: Date | undefined;
                    operator?: FilterDateOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
                filterStatus?: {
                    value?: ResultStatus | undefined;
                    operator?: FilterStatusOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
            }[] & ({
                field?: {
                    resultRawField?: {
                        field?: ResultRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterDate?: {
                    value?: Date | undefined;
                    operator?: FilterDateOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
                filterStatus?: {
                    value?: ResultStatus | undefined;
                    operator?: FilterStatusOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
            } & {
                field?: ({
                    resultRawField?: {
                        field?: ResultRawEnumField | undefined;
                    } | undefined;
                } & {
                    resultRawField?: ({
                        field?: ResultRawEnumField | undefined;
                    } & {
                        field?: ResultRawEnumField | undefined;
                    } & { [K in Exclude<keyof I["or"][number]["and"][number]["field"]["resultRawField"], "field">]: never; }) | undefined;
                } & { [K_1 in Exclude<keyof I["or"][number]["and"][number]["field"], "resultRawField">]: 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;
                filterDate?: ({
                    value?: Date | undefined;
                    operator?: FilterDateOperator | undefined;
                } & {
                    value?: Date | undefined;
                    operator?: FilterDateOperator | undefined;
                } & { [K_3 in Exclude<keyof I["or"][number]["and"][number]["filterDate"], keyof FilterDate>]: never; }) | undefined;
                filterArray?: ({
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } & {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } & { [K_4 in Exclude<keyof I["or"][number]["and"][number]["filterArray"], keyof FilterArray>]: never; }) | undefined;
                filterStatus?: ({
                    value?: ResultStatus | undefined;
                    operator?: FilterStatusOperator | undefined;
                } & {
                    value?: ResultStatus | undefined;
                    operator?: FilterStatusOperator | undefined;
                } & { [K_5 in Exclude<keyof I["or"][number]["and"][number]["filterStatus"], keyof FilterStatus>]: never; }) | undefined;
                filterNumber?: ({
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } & {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } & { [K_6 in Exclude<keyof I["or"][number]["and"][number]["filterNumber"], keyof FilterNumber>]: never; }) | undefined;
            } & { [K_7 in Exclude<keyof I["or"][number]["and"][number], keyof FilterField>]: never; })[] & { [K_8 in Exclude<keyof I["or"][number]["and"], keyof {
                field?: {
                    resultRawField?: {
                        field?: ResultRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterDate?: {
                    value?: Date | undefined;
                    operator?: FilterDateOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
                filterStatus?: {
                    value?: ResultStatus | undefined;
                    operator?: FilterStatusOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_9 in Exclude<keyof I["or"][number], "and">]: never; })[] & { [K_10 in Exclude<keyof I["or"], keyof {
            and?: {
                field?: {
                    resultRawField?: {
                        field?: ResultRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterDate?: {
                    value?: Date | undefined;
                    operator?: FilterDateOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
                filterStatus?: {
                    value?: ResultStatus | undefined;
                    operator?: FilterStatusOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_11 in Exclude<keyof I, "or">]: never; }>(base?: I | undefined): Filters;
    fromPartial<I_1 extends {
        or?: {
            and?: {
                field?: {
                    resultRawField?: {
                        field?: ResultRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterDate?: {
                    value?: Date | undefined;
                    operator?: FilterDateOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
                filterStatus?: {
                    value?: ResultStatus | undefined;
                    operator?: FilterStatusOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
            }[] | undefined;
        }[] | undefined;
    } & {
        or?: ({
            and?: {
                field?: {
                    resultRawField?: {
                        field?: ResultRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterDate?: {
                    value?: Date | undefined;
                    operator?: FilterDateOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
                filterStatus?: {
                    value?: ResultStatus | undefined;
                    operator?: FilterStatusOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
            }[] | undefined;
        }[] & ({
            and?: {
                field?: {
                    resultRawField?: {
                        field?: ResultRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterDate?: {
                    value?: Date | undefined;
                    operator?: FilterDateOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
                filterStatus?: {
                    value?: ResultStatus | undefined;
                    operator?: FilterStatusOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
            }[] | undefined;
        } & {
            and?: ({
                field?: {
                    resultRawField?: {
                        field?: ResultRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterDate?: {
                    value?: Date | undefined;
                    operator?: FilterDateOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
                filterStatus?: {
                    value?: ResultStatus | undefined;
                    operator?: FilterStatusOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
            }[] & ({
                field?: {
                    resultRawField?: {
                        field?: ResultRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterDate?: {
                    value?: Date | undefined;
                    operator?: FilterDateOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
                filterStatus?: {
                    value?: ResultStatus | undefined;
                    operator?: FilterStatusOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
            } & {
                field?: ({
                    resultRawField?: {
                        field?: ResultRawEnumField | undefined;
                    } | undefined;
                } & {
                    resultRawField?: ({
                        field?: ResultRawEnumField | undefined;
                    } & {
                        field?: ResultRawEnumField | undefined;
                    } & { [K_12 in Exclude<keyof I_1["or"][number]["and"][number]["field"]["resultRawField"], "field">]: never; }) | undefined;
                } & { [K_13 in Exclude<keyof I_1["or"][number]["and"][number]["field"], "resultRawField">]: never; }) | undefined;
                filterString?: ({
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } & {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } & { [K_14 in Exclude<keyof I_1["or"][number]["and"][number]["filterString"], keyof FilterString>]: never; }) | undefined;
                filterDate?: ({
                    value?: Date | undefined;
                    operator?: FilterDateOperator | undefined;
                } & {
                    value?: Date | undefined;
                    operator?: FilterDateOperator | undefined;
                } & { [K_15 in Exclude<keyof I_1["or"][number]["and"][number]["filterDate"], keyof FilterDate>]: 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;
                filterStatus?: ({
                    value?: ResultStatus | undefined;
                    operator?: FilterStatusOperator | undefined;
                } & {
                    value?: ResultStatus | undefined;
                    operator?: FilterStatusOperator | undefined;
                } & { [K_17 in Exclude<keyof I_1["or"][number]["and"][number]["filterStatus"], keyof FilterStatus>]: never; }) | undefined;
                filterNumber?: ({
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } & {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } & { [K_18 in Exclude<keyof I_1["or"][number]["and"][number]["filterNumber"], keyof FilterNumber>]: never; }) | undefined;
            } & { [K_19 in Exclude<keyof I_1["or"][number]["and"][number], keyof FilterField>]: never; })[] & { [K_20 in Exclude<keyof I_1["or"][number]["and"], keyof {
                field?: {
                    resultRawField?: {
                        field?: ResultRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterDate?: {
                    value?: Date | undefined;
                    operator?: FilterDateOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
                filterStatus?: {
                    value?: ResultStatus | undefined;
                    operator?: FilterStatusOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_21 in Exclude<keyof I_1["or"][number], "and">]: never; })[] & { [K_22 in Exclude<keyof I_1["or"], keyof {
            and?: {
                field?: {
                    resultRawField?: {
                        field?: ResultRawEnumField | undefined;
                    } | undefined;
                } | undefined;
                filterString?: {
                    value?: string | undefined;
                    operator?: FilterStringOperator | undefined;
                } | undefined;
                filterDate?: {
                    value?: Date | undefined;
                    operator?: FilterDateOperator | undefined;
                } | undefined;
                filterArray?: {
                    value?: string | undefined;
                    operator?: FilterArrayOperator | undefined;
                } | undefined;
                filterStatus?: {
                    value?: ResultStatus | undefined;
                    operator?: FilterStatusOperator | undefined;
                } | undefined;
                filterNumber?: {
                    value?: number | undefined;
                    operator?: FilterNumberOperator | undefined;
                } | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_23 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, FilterStatus, Filters, FiltersAnd, protobufPackage };
