from ..scope_manager import ScopeManager
from ..span import SpanContext
from ..tracer import Tracer
from .propagator import Propagator

class MockTracer(Tracer):
    def __init__(self, scope_manager: ScopeManager | None = ...) -> None: ...
    def register_propagator(self, format, propagator: Propagator) -> None: ...
    def finished_spans(self): ...
    def reset(self) -> None: ...
    def start_active_span(
        self,
        operation_name,
        child_of=...,
        references=...,
        tags=...,
        start_time=...,
        ignore_active_span: bool = ...,
        finish_on_close: bool = ...,
    ): ...
    def start_span(
        self, operation_name=..., child_of=..., references=..., tags=..., start_time=..., ignore_active_span: bool = ...
    ): ...
    def inject(self, span_context: SpanContext, format, carrier) -> None: ...
    def extract(self, format, carrier): ...
