import type { _NSViewController } from "../AppKit/NSViewController.js";
import type { _NCWidgetListViewDelegate } from "./NCWidgetListViewDelegate.js";
import type { _NSArray } from "../Foundation/NSArray.js";
export declare class _NCWidgetListViewController extends _NSViewController {
    static alloc(): _NCWidgetListViewController;
    static new(): _NCWidgetListViewController;
    init(): _NCWidgetListViewController;
    /**
     * Returns an existing content view controller for the given row or creates one if necessary by calling the delegate's widgetList:viewControllerForRow: method.
     */
    viewControllerAtRow$makeIfNecessary$(row: number, makeIfNecesary: boolean): _NSViewController;
    /**
     * Returns the row represented by the given content view controller.
     * @deprecated Use WidgetKit instead. Today View extensions have been deprecated.
     */
    rowForViewController$(viewController: _NSViewController): number;
    delegate(): _NCWidgetListViewDelegate | null;
    setDelegate$(value: _NCWidgetListViewDelegate | null): void;
    /**
     * Set the contents array in order to provide contents for display in the list view. The list view controller will request a new content view controller for each object in the array, and set the representedObject of the newly created content view controller accordingly. As an optimization, when resetting contents, the list view controller may re-use content view controllers for identical objects already in contents.
     */
    contents(): _NSArray;
    setContents$(value: _NSArray): void;
    /**
     * The minimum number of visible rows to display. When this property is set and the count of contetns is greater than this number, the list view controller will show this number fo rows with a "Show More…" button. This property is unset (zero) by default.
     */
    minimumVisibleRowCount(): number;
    setMinimumVisibleRowCount$(value: number): void;
    /** Defaults to YES. Display divider lines between rows. */
    hasDividerLines(): boolean;
    setHasDividerLines$(value: boolean): void;
    /**
     * Set to YES to put the list view controller into editing mode which (optionally) displays row reordering and delete controls.
     */
    editing(): boolean;
    setEditing$(value: boolean): void;
    /**
     * Defaults to YES. Show a (+) button for adding new content while editing. The button's action will send the widgetListPerformAddAction: message to the delegate.
     */
    showsAddButtonWhenEditing(): boolean;
    setShowsAddButtonWhenEditing$(value: boolean): void;
}
