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

@runtime_checkable
class XOpenCLSelection(XInterface, Protocol):
    def isOpenCLEnabled(self) -> bool: ...
    def enableOpenCL(self, enable: bool) -> None: ...
    def enableAutomaticDeviceSelection(self, force: bool) -> None: ...
    def disableAutomaticDeviceSelection(self) -> None: ...
    def selectOpenCLDevice(self, platform: int, device: int) -> None: ...
    def getPlatformID(self) -> int: ...
    def getDeviceID(self) -> int: ...
    def getOpenCLPlatforms(self) -> list[OpenCLPlatform]: ...
    def enableOpcodeSubsetTest(self) -> None: ...
    def disableOpcodeSubsetTest(self) -> None: ...
    def isOpcodeSubsetTested(self) -> bool: ...
    def setFormulaCellNumberLimit(self, number: int) -> None: ...
    def getFormulaCellNumberLimit(self) -> int: ...
