Ë
    ÌiÌ  ã                  óf  — d dl mZ d dlmZ d dlmZ  edd¬«       G d„ de«      «       Z edd¬«       G d„ d	e«      «       Z edd¬«       G d
„ de«      «       Z edd¬«       G d„ de«      «       Z	 edd¬«       G d„ de«      «       Z
 edd¬«       G d„ de	«      «       Z edd¬«       G d„ de«      «       Z ed¬«       G d„ de«      «       Z edd¬«       G d„ de«      «       Z edd¬«       G d„ de«      «       Z edd¬«       G d„ de«      «       Z edd¬«       G d„ de«      «       Zy) é    )Úannotations)Ú	dataclass)ÚSerializableDataclassT)ÚfrozenÚorderc                  ó   — e Zd ZU dZded<   y)ÚElementReferencez]Used when we need to refer to a dimension, measure, entity, but other attributes are unknown.ÚstrÚelement_nameN©Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__© ó    úc/var/www/html/strategist-ai/venv/lib/python3.12/site-packages/dbt_semantic_interfaces/references.pyr	   r	      s   … ágàÔr   r	   c                  ó   — e Zd ZdZy)ÚLinkableElementReferencezVUsed when we need to refer to a dimension or entity, but other attributes are unknown.N©r   r   r   r   r   r   r   r   r      s   „ á`àr   r   c                  ó   — e Zd ZdZy)ÚMeasureReferencezƒUsed when we need to refer to a measure.

    This is separate from LinkableElementReference because measures aren't linkable.
    Nr   r   r   r   r   r      ó   „ ñð
 	r   r   c                  ó    — e Zd Z	 edd„«       Zy)ÚDimensionReferencec                ó.   — t        | j                  ¬«      S ©N)r   )ÚTimeDimensionReferencer   ©Úselfs    r   Útime_dimension_referencez+DimensionReference.time_dimension_reference$   s   € ä%°4×3DÑ3DÔEÐEr   N)Úreturnr   )r   r   r   Úpropertyr"   r   r   r   r   r       s   „ ààòFó ñFr   r   c                  ó   — e Zd Zy)ÚEntityReferenceN©r   r   r   r   r   r   r&   r&   )   ó   „ àr   r&   c                  ó    — e Zd Z	 edd„«       Zy)r   c                ó.   — t        | j                  ¬«      S r   )r   r   r    s    r   Údimension_referencez*TimeDimensionReference.dimension_reference2   s   € ä!¨t×/@Ñ/@ÔAÐAr   N)r#   r   )r   r   r   r$   r+   r   r   r   r   r   .   s   „ ààòBó ñBr   r   c                  ó   — e Zd Zy)ÚMetricReferenceNr'   r   r   r   r-   r-   7   r(   r   r-   )r   c                  ó   — e Zd ZdZy)ÚGroupByMetricReferencezwRepresents a group by metric.

    Different from MetricReference because it inherits linkable element attributes.
    Nr   r   r   r   r/   r/   <   r   r   r/   c                  ó   — e Zd ZdZy)ÚModelReferencea  A reference to something in the model.

    For example, a measure instance could have a defined_from field that has a model reference to the measure / data
    source that it is supposed to reference. Added for exploratory purposes, so whether this is needed is TBD.
    Nr   r   r   r   r1   r1   F   s   „ ñð 	r   r1   c                  ó   — e Zd ZU dZded<   y)ÚSemanticModelReferencez8A reference to a semantic model definition in the model.r
   Úsemantic_model_nameNr   r   r   r   r3   r3   Q   s   … áBàÔr   r3   c                  ó^   — e Zd ZU dZded<   ded<   e	 	 	 	 	 	 d	d„«       Zed
d„«       Zdd„Z	y)ÚSemanticModelElementReferencez†A reference to an element definition in a semantic model definition in the model.

    TODO: Fields should be *Reference objects.
    r
   r4   r   c                óD   — t        | j                  |j                  ¬«      S )N)r4   r   )r6   r4   r   )Úsemantic_model_referenceÚelement_references     r   Úcreate_from_referencesz4SemanticModelElementReference.create_from_referencesb   s#   € ô -Ø 8× LÑ LØ*×7Ñ7ô
ð 	
r   c                ó,   — t        | j                  «      S )N)r3   r4   r    s    r   r8   z6SemanticModelElementReference.semantic_model_referencek   s   € ä% d×&>Ñ&>Ó?Ð?r   c                ó4   — | j                   |j                   k(  S )zYReturns true if this reference is from the same semantic model as the supplied reference.)r4   )r!   Úrefs     r   Úis_fromz%SemanticModelElementReference.is_fromo   s   € à×'Ñ'¨3×+BÑ+BÑBÐBr   N)r8   r3   r9   r	   r#   r6   )r#   r3   )r=   r3   r#   Úbool)
r   r   r   r   r   Ústaticmethodr:   r$   r8   r>   r   r   r   r6   r6   X   s[   … ñð
 ÓØÓàð
Ø"8ð
ØM]ð
à	&ò
ó ð
ð ò@ó ð@ôCr   r6   c                  ó   — e Zd ZU dZded<   y)ÚMetricModelReferencez0A reference to a metric definition in the model.r
   Úmetric_nameNr   r   r   r   rB   rB   t   s   … á:àÔr   rB   N)Ú
__future__r   Údataclassesr   Ú/dbt_semantic_interfaces.dataclass_serializationr   r	   r   r   r   r&   r   r-   r/   r1   r3   r6   rB   r   r   r   ú<module>rG      s¶  ðÝ "å !å Qñ �$˜dÔ#ôÐ,ó ó $ðñ �$˜dÔ#ô	Ð/ó 	ó $ð	ñ �$˜dÔ#ô	Ð'ó 	ó $ð	ñ �$˜dÔ#ôFÐ1ó Fó $ðFñ �$˜dÔ#ô	Ð.ó 	ó $ð	ñ �$˜dÔ#ôBÐ/ó Bó $ðBñ �$˜dÔ#ô	Ð&ó 	ó $ð	ñ �$Ôô	Ð5ó 	ó ð	ñ �$˜dÔ#ô	Ð*ó 	ó $ð	ñ �$˜dÔ#ô˜^ó ó $ðñ �$˜dÔ#ôC Nó Có $ðCñ6 �$˜dÔ#ô˜>ó ó $ñr   