import type { _NSExtensionRequestHandling } from "../Foundation/NSExtensionRequestHandling.js";
import type { NSEdgeInsets } from "../structs/NSEdgeInsets.js";
import type { NCUpdateResult } from "./NCUpdateResult.js";
export interface _NCWidgetProviding extends _NSExtensionRequestHandling {
    /**
     * Called to allow the widget to update its state. This is done prior to taking a snapshot or possibly other operations. Clients should call the block provided when the work is complete, passing the appropriate NCUpdateResult value.
     * @deprecated Use WidgetKit instead. Today View extensions have been deprecated.
     */
    widgetPerformUpdateWithCompletionHandler$?(completionHandler: (result: NCUpdateResult) => void): void;
    /**
     * Implement this method to cutomize the margin insets of the widget content.
     * @deprecated Use WidgetKit instead. Today View extensions have been deprecated.
     */
    widgetMarginInsetsForProposedMarginInsets$?(defaultMarginInset: NSEdgeInsets): NSEdgeInsets;
    /**
     * Called in response to the begin editing button when widgetAllowsEditing.
     * @deprecated Use WidgetKit instead. Today View extensions have been deprecated.
     */
    widgetDidBeginEditing?(): void;
    /**
     * Called in response to the end editing button when widgetAllowsEditing. This will also be called when the widget is deactivated in response to another widget being edited.
     * @deprecated Use WidgetKit instead. Today View extensions have been deprecated.
     */
    widgetDidEndEditing?(): void;
    /**
     * Return YES to indicate that the widget supports editing mode. A button to begin and end editing will be created in the widget's header.
     * @deprecated Use WidgetKit instead. Today View extensions have been deprecated.
     */
    widgetAllowsEditing?(): boolean;
}
