import type { NobjcObject } from "objc-js";
import type { _NSError } from "../Foundation/NSError.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _SCContentFilter } from "./SCContentFilter.js";
import type { _SCScreenshotConfiguration } from "./SCScreenshotConfiguration.js";
import type { _SCScreenshotOutput } from "./SCScreenshotOutput.js";
import type { _SCStreamConfiguration } from "./SCStreamConfiguration.js";
import type { CGRect } from "../structs/CGRect.js";
export declare class _SCScreenshotManager extends _NSObject {
    static alloc(): _SCScreenshotManager;
    static new(): _SCScreenshotManager;
    /**
     * @abstract captureSampleBufferWithFilter:configuration:completionHandler: @param contentFilter is the filter containing the content to take a screenshot of @param config is the stream configuration containing information on how to format the screenshot @param completionHandler is the handler that will deliver the screenshot to the user @discussion this method takes a screenshot using the filter and configuration passed in and returns it as a CMSampleBuffer
     */
    static captureSampleBufferWithFilter$configuration$completionHandler$(contentFilter: _SCContentFilter, config: _SCStreamConfiguration, completionHandler: ((sampleBuffer: NobjcObject, error: _NSError) => void) | null): void;
    /**
     * @abstract captureImageWithFilter:configuration:completionHandler: @param contentFilter is the filter containing the content to take a screenshot of @param config is the stream configuration containing information on how to format the screenshot @param completionHandler is the handler that will deliver the screenshot to the user @discussion this method takes a screenshot using the filter and configuration passed in and returns it as a CGImage in BGRA format if captureDynamicRange is SCCaptureDynamicRangeSDR, in RGhA format if captureDynamicRange is SCCaptureDynamicRangeHDRLocalDisplay/SCCaptureDynamicRangeHDRCanonicalDisplay
     */
    static captureImageWithFilter$configuration$completionHandler$(contentFilter: _SCContentFilter, config: _SCStreamConfiguration, completionHandler: ((sampleBuffer: NobjcObject, error: _NSError) => void) | null): void;
    /**
     * @abstract captureImageInRect:completionHandler: @param rect the rect for the region in points on the screen space for the screen shot, this is display agnostic and supports multiple displays @param completionHandler is the handler that will deliver the screenshot to the client @discussion this method returns an image containing the contents of the rectangle in points, specified in display space
     */
    static captureImageInRect$completionHandler$(rect: CGRect, completionHandler: ((image: NobjcObject, error: _NSError) => void) | null): void;
    /**
     * @abstract captureScreenshotWithFilter:configuration:completionHandler: @param contentFilter is the filter containing the content to take a screenshot of @param config is the screenshot configuration containing information on how to format the screenshot @param completionHandler is the handler that will deliver the SCScreenshotOutput object to the client @discussion this method returns an SCScreenshotOutput object containing CGImages of the screenshot requested by the client
     */
    static captureScreenshotWithFilter$configuration$completionHandler$(contentFilter: _SCContentFilter, config: _SCScreenshotConfiguration, completionHandler: ((output: _SCScreenshotOutput, error: _NSError) => void) | null): void;
    /**
     * @abstract captureScreenshotWithRect:configuration:completionHandler: @param rect the rect for the region in points on the screen space for the screen shot, this is display agnostic and supports multiple displays @param config is the screenshot configuration containing information on how to format the screenshot @param completionHandler is the handler that will deliver the SCScreenshotOutput object to the client @discussion this method returns an SCScreenshotOutput object containing CGImages of the screenshot requested by the client
     */
    static captureScreenshotWithRect$configuration$completionHandler$(rect: CGRect, config: _SCScreenshotConfiguration, completionHandler: ((output: _SCScreenshotOutput, error: _NSError) => void) | null): void;
    init(): _SCScreenshotManager;
}
