"""NoteFlow application settings using Pydantic settings.

This package provides structured settings management for the NoteFlow application:

- Settings: Main application settings extending TriggerSettings
- TriggerSettings: Client trigger settings for auto-start detection
- FeatureFlags: Feature flags for experimental features
- CalendarIntegrationSettings: OAuth and sync settings for calendar integration

Cached loaders:
- get_settings(): Get cached Settings instance
- get_trigger_settings(): Get cached TriggerSettings instance
- get_feature_flags(): Get cached FeatureFlags instance
- get_calendar_settings(): Get cached CalendarIntegrationSettings instance
"""

from noteflow.config.settings._calendar import CalendarIntegrationSettings
from noteflow.config.settings._features import FeatureFlags
from noteflow.config.settings._loaders import (
    get_calendar_settings,
    get_feature_flags,
    get_settings,
    get_trigger_settings,
)
from noteflow.config.settings._main import Settings
from noteflow.config.settings._triggers import TriggerSettings

__all__ = [
    "CalendarIntegrationSettings",
    "FeatureFlags",
    "Settings",
    "TriggerSettings",
    "get_calendar_settings",
    "get_feature_flags",
    "get_settings",
    "get_trigger_settings",
]
