// Copyright (c) Microsoft Corporation. // Licensed under the MIT license. import "GlobalAppSettings.idl"; import "Profile.idl"; import "TerminalWarnings.idl"; import "DefaultTerminal.idl"; namespace Microsoft.Terminal.Settings.Model { [default_interface] runtimeclass CascadiaSettings { static CascadiaSettings LoadDefaults(); static CascadiaSettings LoadAll(); static CascadiaSettings LoadUniversal(); static String SettingsPath { get; }; static String DefaultSettingsPath { get; }; static String ApplicationDisplayName { get; }; static String ApplicationVersion { get; }; CascadiaSettings(String userJSON, String inboxJSON); CascadiaSettings Copy(); void WriteSettingsToDisk(); GlobalAppSettings GlobalSettings { get; }; Profile ProfileDefaults { get; }; IObservableVector AllProfiles { get; }; IObservableVector ActiveProfiles { get; }; Profile DuplicateProfile(Profile sourceProfile); ActionMap ActionMap { get; }; IVectorView Warnings { get; }; Windows.Foundation.IReference GetLoadingError { get; }; String GetSerializationErrorMessage { get; }; Profile CreateNewProfile(); Profile FindProfile(Guid profileGuid); ColorScheme GetColorSchemeForProfile(Profile profile); void UpdateColorSchemeReferences(String oldName, String newName); Profile GetProfileForArgs(NewTerminalArgs newTerminalArgs); static Boolean IsDefaultTerminalAvailable { get; }; IObservableVector DefaultTerminals { get; }; DefaultTerminal CurrentDefaultTerminal; } }