#!/usr/bin/env node
export interface ScreenshotOptions {
    format?: 'png' | 'jpeg' | 'jpg';
    quality?: number;
    scale?: number;
}
export interface ScreenshotResult {
    data: string;
    format: string;
    width: number;
    height: number;
    captureTime: number;
}
export interface RegionScreenshotRequest {
    x: number;
    y: number;
    width: number;
    height: number;
    options?: ScreenshotOptions;
}
export interface WindowScreenshotRequest {
    windowId: number;
    options?: ScreenshotOptions;
}
export interface AppScreenshotRequest {
    bundleId?: string;
    appName?: string;
    options?: ScreenshotOptions;
}
export declare class SwiftScreenshotBridge {
    private process;
    private binaryPath;
    private requestId;
    private pendingRequests;
    private responseBuffer;
    private isReady;
    constructor();
    start(): Promise<void>;
    private handleOutput;
    private sendRequest;
    ping(): Promise<boolean>;
    captureFullScreen(options?: ScreenshotOptions): Promise<ScreenshotResult>;
    captureWindow(windowId: number, options?: ScreenshotOptions): Promise<ScreenshotResult>;
    captureRegion(x: number, y: number, width: number, height: number, options?: ScreenshotOptions): Promise<ScreenshotResult>;
    captureApplication(bundleId?: string, appName?: string, options?: ScreenshotOptions): Promise<ScreenshotResult[]>;
    captureVisibleWindows(options?: ScreenshotOptions): Promise<ScreenshotResult[]>;
    shutdown(): Promise<void>;
    get ready(): boolean;
}
export declare function getSwiftScreenshotBridge(): Promise<SwiftScreenshotBridge>;
export declare function shutdownSwiftScreenshotBridge(): Promise<void>;
//# sourceMappingURL=swift-screenshot-bridge.d.ts.map