#nullable enable
namespace Avalonia.Input
{
///
/// Designates a control as handling its own keyboard navigation.
///
public interface ICustomKeyboardNavigation
{
///
/// Gets the next element in the specified navigation direction.
///
/// The element being navigated from.
/// The navigation direction.
///
/// A tuple consisting of:
/// - A boolean indicating whether the request was handled. If false is returned then
/// custom navigation will be ignored and default navigation will take place.
/// - If handled is true: the next element in the navigation direction, or null if default
/// navigation should continue outside the element.
///
(bool handled, IInputElement? next) GetNext(IInputElement element, NavigationDirection direction);
}
}