import type { _NSViewController } from "../AppKit/NSViewController.js";
import type { _NCWidgetListViewController } from "./NCWidgetListViewController.js";
export interface _NCWidgetListViewDelegate {
    /** Required delegate method to create new content view controllers. */
    widgetList$viewControllerForRow$?(list: _NCWidgetListViewController, row: number): _NSViewController;
    /**
     * Optional delegate method to implement an action for the (+) button when visible in editing mode. To use the default search view, instantiate an NCWidgetSearchViewController and present it on the widget's principal view controller using presentViewControllerInWidget:
     */
    widgetListPerformAddAction$?(list: _NCWidgetListViewController): void;
    /**
     * Optional delegate methods to allow reordering of list content. No reordering is allowed if not implemented. The reordering will be immediately reflected in the list view controller's contents array before widgetList:didReorderRow:toRow: is called.
     */
    widgetList$shouldReorderRow$?(list: _NCWidgetListViewController, row: number): boolean;
    widgetList$didReorderRow$toRow$?(list: _NCWidgetListViewController, row: number, newIndex: number): void;
    /**
     * Optional delegate methods to allow deleting list content. No deletion is allowed if not implemented. The deletion will be immediately reflected in the list view controller's contents array before widgetList:didRemoveRow: is called.
     */
    widgetList$shouldRemoveRow$?(list: _NCWidgetListViewController, row: number): boolean;
    widgetList$didRemoveRow$?(list: _NCWidgetListViewController, row: number): void;
}
