from __future__ import annotations
from typing import Any, Protocol, runtime_checkable
from com.sun.star.beans import XPropertySet
from com.sun.star.sdbc import XDataSource
from com.sun.star.sdbc import XIsolatedConnection
from com.sun.star.util import XFlushable

@runtime_checkable
class DataSource(XPropertySet, XCompletedConnection, XIsolatedConnection, XFlushable, XQueryDefinitionsSupplier, XDataSource, XBookmarksSupplier, Protocol):
    Name: str
    URL: str
    Info: list[PropertyValue]
    Settings: XPropertySet
    User: str
    Password: str
    IsPasswordRequired: bool
    SuppressVersionColumns: bool
    IsReadOnly: bool
    NumberFormatsSupplier: XNumberFormatsSupplier
    TableFilter: list[str]
    TableTypeFilter: list[str]
