// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
using System;
namespace autoShell.Services;
///
/// Abstracts Windows virtual desktop COM operations for testability.
///
internal interface IVirtualDesktopService
{
///
/// Creates one or more virtual desktops from a JSON array of names.
///
void CreateDesktops(string jsonDesktopNames);
///
/// Moves a window to the specified desktop by index (1-based) or name.
///
void MoveWindowToDesktop(IntPtr hWnd, string desktopIdentifier);
///
/// Switches to the next virtual desktop.
///
void NextDesktop();
///
/// Pins a window (by handle) to all desktops.
///
void PinWindow(IntPtr hWnd);
///
/// Switches to the previous virtual desktop.
///
void PreviousDesktop();
///
/// Switches to a virtual desktop by index or name.
///
void SwitchDesktop(string desktopIdentifier);
}