from __future__ import annotations
from typing import Any, Protocol, runtime_checkable
from .com.sun.star.uno import XInterface

@runtime_checkable
class XChartTypeTemplate(XInterface, Protocol):
    def createDiagramByDataSource(self, xDataSource: XDataSource, aArguments: PropertyValue >) -> XDiagram: ...
    def supportsCategories(self) -> bool: ...
    def changeDiagram(self, xDiagram: XDiagram) -> None: ...
    def changeDiagramData(self, xDiagram: XDiagram, xDataSource: XDataSource, aArguments: PropertyValue >) -> None: ...
    def matchesTemplate(self, xDiagram: XDiagram, bAdaptProperties: bool) -> bool: ...
    def getChartTypeForNewSeries(self, aFormerlyUsedChartTypes: sequence< XChartType >) -> XChartType: ...
    def getDataInterpreter(self) -> XInterface: ...
    def applyStyle(self, xSeries: XDataSeries, nChartTypeGroupIndex: int, nSeriesIndex: int, nSeriesCount: int) -> None: ...
    def resetStyles(self, xDiagram: XDiagram) -> None: ...
