import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _SCDisplay } from "./SCDisplay.js";
import type { _SCWindow } from "./SCWindow.js";
import type { CGRect } from "../structs/CGRect.js";
import type { SCShareableContentStyle } from "./SCShareableContentStyle.js";
import type { SCStreamType } from "./SCStreamType.js";
export declare class _SCContentFilter extends _NSObject {
    static alloc(): _SCContentFilter;
    static new(): _SCContentFilter;
    init(): _SCContentFilter;
    /**
     * @abstract initWithDesktopIndependentWindow: @param window the independent SCWindow you wish to capture @discussion this method will create a SCContentFilter that captures just the independent window passed in.
     */
    initWithDesktopIndependentWindow$(window: _SCWindow): _SCContentFilter;
    /**
     * @abstract initWithDisplay:excludingWindows @param display the SCDisplay you wish to capture @param excluded the SCWindow(s) you wish to exclude from the passed in SCDisplay @discussion This method will create a SCContentFilter that captures the SCDisplay, excluding the passed in excluded SCWindow(s). The desktop background and dock will be included with this content filter.
     */
    initWithDisplay$excludingWindows$(display: _SCDisplay, excluded: _NSArray): _SCContentFilter;
    /**
     * @abstract initWithDisplay:includingWindows @param display the SCDisplay you wish to capture @param includedWindows a set of SCWindows you wish to capture @discussion This method will create a SCContentFilter that captures a group of SCWindows. The desktop background and dock will be excluded with this content filter.
     */
    initWithDisplay$includingWindows$(display: _SCDisplay, includedWindows: _NSArray): _SCContentFilter;
    /**
     * @abstract initWithDisplay:includingApplications:exceptingWindows @param display the SCDisplay you wish to capture @param applications the NSSet of SCRunningApplications that you wish to capture @param exceptingWindows the NSSet of SCWindows that you wish to be an exception to the filter @discussion This method creates a SCContentFilter that captures all windows owned by the passed in SCRunningApplications. Any windows that are an exception to the filter will not be shown if their owning application is in the provided list and will be shown otherwise. The desktop background and dock will be excluded with this content filter.
     */
    initWithDisplay$includingApplications$exceptingWindows$(display: _SCDisplay, applications: _NSArray, exceptingWindows: _NSArray): _SCContentFilter;
    /**
     * @abstract initWithDisplay:excludingApplications:exceptingWindows @param display the SCDisplay you wish to capture @param applications the NSSet of SCRunningApplications that you do not wish to capture @param exceptingWindows the NSSet of SCWindows that you wish to be an exception to the filter @discussion This method creates a SCContentFilter that captures all windows not owned by the passed in SCRunningApplications. Any windows that are an exception to the filter will be shown if their owning application is in the provided list and will not be shown otherwise. The desktop background and dock will be included with this content filter.
     */
    initWithDisplay$excludingApplications$exceptingWindows$(display: _SCDisplay, applications: _NSArray, exceptingWindows: _NSArray): _SCContentFilter;
    /**
     * @abstract streamType type of stream
     * @deprecated Use style instead
     */
    streamType(): SCStreamType;
    /** @abstract style of stream */
    style(): SCShareableContentStyle;
    /** @abstract Pixel to points scaling factor */
    pointPixelScale(): number;
    /** @abstract Size and location of content in points */
    contentRect(): CGRect;
    /**
     * @abstract To include menu bar as part of the capture. This property has no effect for the desktop independent window filter. For content filters created with initWithDisplay:excluding, the default value is YES. Display excluding content filters contains the desktop and dock. For content filters created with initWithDisplay:including, the default value is NO. Display including content filters do not contain the desktop and dock
     */
    includeMenuBar(): boolean;
    setIncludeMenuBar$(value: boolean): void;
    /** @abstract SCDisplays that are included in the content filter */
    includedDisplays(): _NSArray;
    /** @abstract Applications that are included in the content filter */
    includedApplications(): _NSArray;
    /** @abstract Windows that are included in the content filter */
    includedWindows(): _NSArray;
}
