Option Strict On
Option Explicit On

Imports Nexamas.UI.Components

Namespace Nexamas.UI.Theming


    ''' <summary>
    ''' Defines the foundational visual tokens of a theme.
    ''' Includes brand, neutral, semantic, text, interaction, surface, and background contracts.
    ''' </summary>
    ''' <remarks>
    ''' Foundation values are global design primitives. They must remain immutable and
    ''' must not depend on controls, layout, rendering, or runtime state.
    ''' </remarks>
    ''' 
    <Global.System.ComponentModel.EditorBrowsable(Global.System.ComponentModel.EditorBrowsableState.Advanced)>
    Friend Interface IMASThemeFoundation
        ReadOnly Property Brand As IMASBrandTheme
        ReadOnly Property Neutrals As IMASNeutralTheme
        ReadOnly Property Semantics As IMASSemanticTheme
        ReadOnly Property TextColors As IMASTextColorTheme

        ReadOnly Property Interaction As IMASInteractionTheme
        ReadOnly Property TalNeutralInteraction As IMASInteractionTheme
        ReadOnly Property TalPrimaryInteraction As IMASInteractionTheme

        ReadOnly Property Surface As IMASFoundationSurfaceTheme

        ReadOnly Property TalNeutralSurface As MASButtonSurfaceTheme
        ReadOnly Property TalPrimarySurface As MASButtonSurfaceTheme

        ReadOnly Property MasNeutralSurface As MASButtonSurfaceTheme
        ReadOnly Property MasPrimarySurface As MASButtonSurfaceTheme
        ReadOnly Property MasSubtleSurface As MASButtonSurfaceTheme

        ReadOnly Property Background As IMASBackgroundTheme
    End Interface

End Namespace