# This file was generated by Nuitka

# Stubs included by default
from __future__ import annotations
from loguru import logger
from sqlalchemy import MetaData, create_engine, text
from sqlalchemy.exc import SQLAlchemyError
from sqlalchemy.orm import declarative_base, sessionmaker
from typing import Any, Dict, List, Optional, Union
from typing_extensions import Self
import os
import pandas

class Database:
    def __init__(self: Self, db_type: str) -> None: ...
    def connect(self: Self) -> Any: ...
    def close(self: Self) -> Any: ...
    def create_tables_from_models(self: Self, models: List, drop_existing: bool) -> Any: ...
    def get_session(self: Self) -> Any: ...
    def execute_sql(self: Self, sql: str, params: Optional[Union[Dict, List]], commit: bool) -> Any: ...
    def insert_dataframe(self: Self, table_name: str, df: pd.DataFrame, if_exists: str, index: bool) -> Any: ...
    def export_to_dataframe(self: Self, sql: str, params: Optional[Union[Dict, List]]) -> pd.DataFrame: ...
    def __enter__(self: Self) -> Any: ...
    def __exit__(self: Self, exc_type: Any, exc_val: Any, exc_tb: Any) -> Any: ...


__name__ = ...



# Modules used internally, to allow implicit dependencies to be seen:
import os
import typing
import pandas
import loguru
import loguru.logger
import sqlalchemy
import sqlalchemy.create_engine
import sqlalchemy.text
import sqlalchemy.MetaData
import sqlalchemy.exc
import sqlalchemy.orm
import sqlalchemy.orm.declarative_base
import sqlalchemy.orm.sessionmaker