import type { _NSMenu } from "../AppKit/NSMenu.js";
import type { _NSMenuItem } from "../AppKit/NSMenuItem.js";
import type { _NSView } from "../AppKit/NSView.js";
import type { _SWHighlight } from "./SWHighlight.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { SWAttributionViewBackgroundStyle } from "./SWAttributionViewBackgroundStyle.js";
import type { SWAttributionViewDisplayContext } from "./SWAttributionViewDisplayContext.js";
import type { SWAttributionViewHorizontalAlignment } from "./SWAttributionViewHorizontalAlignment.js";
export declare class _SWAttributionView extends _NSView {
    static alloc(): _SWAttributionView;
    static new(): _SWAttributionView;
    init(): _SWAttributionView;
    /**
     * The SWHighlight to use for displaying this attribution. When this property is set to a new highlight, the contents of the view will be reloaded.
     */
    highlight(): _SWHighlight | null;
    setHighlight$(value: _SWHighlight | null): void;
    /**
     * The context for the content being displayed with this view. Set this prior to adding this view to your view hierarchy.
     */
    displayContext(): SWAttributionViewDisplayContext;
    setDisplayContext$(value: SWAttributionViewDisplayContext): void;
    /**
     * The horizontal alignment of the view. You should specify a value, in case the internal default ever changes. This value specifies the horizontal anchor for the view's contents. This only has an effect when the width of the contents are less than the available width.
     */
    horizontalAlignment(): SWAttributionViewHorizontalAlignment;
    setHorizontalAlignment$(value: SWAttributionViewHorizontalAlignment): void;
    /**
     * The background style of the inner view containing names and avatars. If you do not specify a background style, one will be chosen automatically. In general, .color looks best on monochrome backgrounds, while .material looks better on colored backgrounds.
     */
    backgroundStyle(): SWAttributionViewBackgroundStyle;
    setBackgroundStyle$(value: SWAttributionViewBackgroundStyle): void;
    /**
     * For use when embedding this view in a SwiftUI view representable. When using this view in SwiftUI, this view will constrain its contents to this width. If you are not using SwiftUI this property should not be necessary, as SWAttributionView otherwise derives the maximum width from the frame or constraints you set.
     */
    preferredMaxLayoutWidth(): number;
    setPreferredMaxLayoutWidth$(value: number): void;
    /**
     * @abstract A menu with a list of system actions specific to this SWAttributionView's SWHighlight. @discussion Use this menu to augment an existing menu attached to the content represented by this SWAttributionView. This allows the user to easily reply to or hide the content. This menu should be added inline with (and at the end of) the menu elements it augments.
     */
    highlightMenu(): _NSMenu;
    /**
     * A custom localized string to be used as the title for the "Hide" menu item title. A nil value will result in the default title. SWAttributionView manages a context menu which includes the option for the user to hide the content for the SWHighlight represented by this view. Set a title to be used as the title for that context menu. An app that displays articles, for example, might set " Hide Article", localized to the current language. The string should include the word "Hide", localized correctly with the custom content type.
     */
    menuTitleForHideAction(): _NSString | null;
    setMenuTitleForHideAction$(value: _NSString | null): void;
    /**
     * @abstract Supplemental menu to augment SWAttributionView's existing menu. Use this when there are additional actions a user can take on content represented by this view's SWHighlight. A nil value results in no supplemental menu being used.
     */
    supplementalMenu(): _NSMenuItem | null;
    setSupplementalMenu$(value: _NSMenuItem | null): void;
    /**
     * Automatically enables a marquee effect if the text contents extend past the bounds of the view (tvOS only)
     */
    enablesMarquee(): boolean;
    setEnablesMarquee$(value: boolean): void;
}
