@@ -88,6 +88,11 @@ class BeforeAfterFilter(StatementFilter):
8888
8989 __slots__ = ("_param_name_after" , "_param_name_before" , "after" , "before" , "field_name" )
9090
91+ # Explicit property declarations for better IDE/linter support
92+ field_name : str
93+ before : Optional [datetime ]
94+ after : Optional [datetime ]
95+
9196 def __init__ (self , field_name : str , before : Optional [datetime ] = None , after : Optional [datetime ] = None ) -> None :
9297 """Initialize the BeforeAfterFilter.
9398
@@ -150,6 +155,11 @@ class OnBeforeAfterFilter(StatementFilter):
150155
151156 __slots__ = ("_param_name_on_or_after" , "_param_name_on_or_before" , "field_name" , "on_or_after" , "on_or_before" )
152157
158+ # Explicit property declarations for better IDE/linter support
159+ field_name : str
160+ on_or_before : Optional [datetime ]
161+ on_or_after : Optional [datetime ]
162+
153163 def __init__ (
154164 self , field_name : str , on_or_before : Optional [datetime ] = None , on_or_after : Optional [datetime ] = None
155165 ) -> None :
@@ -231,6 +241,10 @@ class InCollectionFilter(InAnyFilter[T]):
231241
232242 __slots__ = ("_param_names" , "field_name" , "values" )
233243
244+ # Explicit property declarations for better IDE/linter support
245+ field_name : str
246+ values : Optional [abc .Collection [T ]]
247+
234248 def __init__ (self , field_name : str , values : Optional [abc .Collection [T ]]) -> None :
235249 """Initialize the InCollectionFilter.
236250
@@ -285,6 +299,10 @@ class NotInCollectionFilter(InAnyFilter[T]):
285299
286300 __slots__ = ("_param_names" , "field_name" , "values" )
287301
302+ # Explicit property declarations for better IDE/linter support
303+ field_name : str
304+ values : Optional [abc .Collection [T ]]
305+
288306 def __init__ (self , field_name : str , values : Optional [abc .Collection [T ]]) -> None :
289307 """Initialize the NotInCollectionFilter.
290308
@@ -337,6 +355,10 @@ class AnyCollectionFilter(InAnyFilter[T]):
337355
338356 __slots__ = ("_param_names" , "field_name" , "values" )
339357
358+ # Explicit property declarations for better IDE/linter support
359+ field_name : str
360+ values : Optional [abc .Collection [T ]]
361+
340362 def __init__ (self , field_name : str , values : Optional [abc .Collection [T ]]) -> None :
341363 """Initialize the AnyCollectionFilter.
342364
@@ -462,6 +484,10 @@ class LimitOffsetFilter(PaginationFilter):
462484
463485 __slots__ = ("_limit_param_name" , "_offset_param_name" , "limit" , "offset" )
464486
487+ # Explicit property declarations for better IDE/linter support
488+ limit : int
489+ offset : int
490+
465491 def __init__ (self , limit : int , offset : int ) -> None :
466492 """Initialize the LimitOffsetFilter.
467493
@@ -524,6 +550,10 @@ class OrderByFilter(StatementFilter):
524550
525551 __slots__ = ("field_name" , "sort_order" )
526552
553+ # Explicit property declarations for better IDE/linter support
554+ field_name : str
555+ sort_order : Literal ["asc" , "desc" ]
556+
527557 def __init__ (self , field_name : str , sort_order : Literal ["asc" , "desc" ] = "asc" ) -> None :
528558 """Initialize the OrderByFilter.
529559
@@ -571,6 +601,11 @@ class SearchFilter(StatementFilter):
571601
572602 __slots__ = ("_param_name" , "field_name" , "ignore_case" , "value" )
573603
604+ # Explicit property declarations for better IDE/linter support
605+ field_name : Union [str , set [str ]]
606+ value : str
607+ ignore_case : Optional [bool ]
608+
574609 def __init__ (self , field_name : Union [str , set [str ]], value : str , ignore_case : Optional [bool ] = False ) -> None :
575610 """Initialize the SearchFilter.
576611
@@ -706,6 +741,12 @@ class OffsetPagination(Generic[T]):
706741
707742 __slots__ = ("items" , "limit" , "offset" , "total" )
708743
744+ # Explicit property declarations for better IDE/linter support
745+ items : Sequence [T ]
746+ limit : int
747+ offset : int
748+ total : int
749+
709750 def __init__ (self , items : Sequence [T ], limit : int , offset : int , total : int ) -> None :
710751 """Initialize OffsetPagination.
711752
0 commit comments