// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
import "Command.idl";
import "GlobalAppSettings.idl";

namespace Microsoft.Terminal.Settings.Model
{
    enum InfoBarMessage
    {
        CloseOnExitInfo = 0,
        KeyboardServiceWarning
    };

    runtimeclass WindowLayout
    {
        WindowLayout();

        Windows.Foundation.Collections.IVector<ActionAndArgs> TabLayout;
        Windows.Foundation.IReference<LaunchPosition> InitialPosition;
        Windows.Foundation.IReference<Windows.Foundation.Size> InitialSize;
    };

    [default_interface] runtimeclass ApplicationState {
        static ApplicationState SharedInstance();

        void Reload();

        String FilePath { get; };

        Windows.Foundation.Collections.IVector<WindowLayout> PersistedWindowLayouts { get; set; };

        Windows.Foundation.Collections.IVector<String> RecentCommands { get; set; };

        Windows.Foundation.Collections.IVector<InfoBarMessage> DismissedMessages { get; set; };
    }
}
