Selector: {
    !contain?: Clause<OrWithTime<PrimitiveSelector["contain"]>>;
    !defined?: Clause<PrimitiveSelector["defined"]>;
    !equal?: Clause<OrWithTime<PrimitiveSelector["equal"]>>;
    !gt?: Clause<OrWithTime<PrimitiveSelector["gt"]>>;
    !gte?: Clause<OrWithTime<PrimitiveSelector["gte"]>>;
    !guid?: Clause<PrimitiveSelector["guid"]>;
    !ilike?: Clause<PrimitiveSelector["ilike"]>;
    !imatch?: Clause<PrimitiveSelector["imatch"]>;
    !like?: Clause<PrimitiveSelector["like"]>;
    !lt?: Clause<OrWithTime<PrimitiveSelector["lt"]>>;
    !lte?: Clause<OrWithTime<PrimitiveSelector["lte"]>>;
    !match?: Clause<PrimitiveSelector["match"]>;
    !qref?: Selector["qref"];
    !ref?: Clause<PrimitiveSelector["ref"]>;
    !search?: Clause<PrimitiveSelector["search"]>;
    !selector?: Selector["selector"];
    !tag?: Clause<PrimitiveSelector["tag"]>;
    !truthy?: Clause<PrimitiveSelector["truthy"]>;
    contain?: Clause<OrWithTime<PrimitiveSelector["contain"]>>;
    defined?: Clause<PrimitiveSelector["defined"]>;
    equal?: Clause<OrWithTime<PrimitiveSelector["equal"]>>;
    gt?: Clause<OrWithTime<PrimitiveSelector["gt"]>>;
    gte?: Clause<OrWithTime<PrimitiveSelector["gte"]>>;
    guid?: Clause<PrimitiveSelector["guid"]>;
    ilike?: Clause<PrimitiveSelector["ilike"]>;
    imatch?: Clause<PrimitiveSelector["imatch"]>;
    like?: Clause<PrimitiveSelector["like"]>;
    lt?: Clause<OrWithTime<PrimitiveSelector["lt"]>>;
    lte?: Clause<OrWithTime<PrimitiveSelector["lte"]>>;
    match?: Clause<PrimitiveSelector["match"]>;
    qref?: Clause<[string, [Options, ...Selector[]]]>;
    ref?: Clause<PrimitiveSelector["ref"]>;
    search?: Clause<PrimitiveSelector["search"]>;
    selector?: Clause<Selector>;
    tag?: Clause<PrimitiveSelector["tag"]>;
    truthy?: Clause<PrimitiveSelector["truthy"]>;
    type:
        | "&"
        | "|"
        | "!&"
        | "!|";
}