/* tslint:disable */
/* eslint-disable */

/* auto-generated by NAPI-RS */

/**
 * Start a process-loopback capture that excludes the current process
 * tree. The supplied JS callback is invoked from a background thread
 * with one argument: a Float32Array of interleaved f32 stereo samples
 * at 48kHz. Returns a numeric capture id that must be passed to
 * `stopCapture` when the share ends.
 *
 * Always excludes `std::process::id()` (whole-OS-mixer-minus-self).
 * For "include only this app" use `start_capture_for_pid` instead.
 */
export declare function startCapture(callback: (...args: any[]) => any): number
/**
 * Start a process-loopback capture that INCLUDES the target PID's
 * process tree (and only that tree) — the WASAPI
 * INCLUDE_TARGET_PROCESS_TREE mode. Used for window-shares where we
 * want only the picked app's audio (Discord parity).
 */
export declare function startCaptureForPid(pid: number, callback: (...args: any[]) => any): number
/**
 * Resolve the owning process id of a top-level window handle. The
 * renderer derives `hwnd` from desktopCapturer's `window:<HWND>:0`
 * source ids and we hand that to `start_capture_for_pid`.
 */
export declare function resolveWindowPid(hwnd: number): number
/**
 * Tear down the capture for the given id. Safe to call on a missing id
 * (no-op) so the JS side doesn't have to track whether the stop has
 * already been issued by the screen-share teardown path.
 */
export declare function stopCapture(captureId: number): void
