import { n as ServiceHandle, t as ServiceClientOptions } from "./service-rpc-BugpSF7V.mjs"; //#region src/video/encoder/encoder-types.d.ts /** Matches `hal::video::EncoderSinkFormat` enum strings. */ type VideoEncoderSinkFormat = 'H264' | 'MJPEG' | 'RGB565' | 'RGB888' | 'BGR888' | 'YUV420' | 'YUV422' | 'O_UYY_E_VYY' | 'Max'; type VideoEncoderSinkInfo = { format: VideoEncoderSinkFormat; width: number; height: number; fps: number; }; type VideoEncoderSourceConfig = { device_path?: string; fixed_format?: VideoEncoderSinkFormat; fixed_width?: number; fixed_height?: number; v4l2_buffer_count?: number; }; type VideoEncoderDisplayConfig = { output_name: string; source_name?: string; source_role?: string; x?: number; y?: number; draw_timeout_ms?: number; publish_sink_event?: boolean; activate_source?: boolean; sink_index?: number; }; type VideoEncoderConfig = { sinks: VideoEncoderSinkInfo[]; enable_stream_mode?: boolean; source?: VideoEncoderSourceConfig; display?: VideoEncoderDisplayConfig; }; type VideoEncoderState = 'Closed' | 'Open' | 'Started' | 'Stopped'; //#endregion //#region src/video/encoder/encoder-client.d.ts /** Default registered name (`helper::VideoEncoder<0>::get_name()`). */ declare const VIDEO_ENCODER_DEFAULT_SERVICE_NAME = "VideoEncoder0"; /** RPC function names (`helper::Video::EncoderFunctionId`). */ declare const VIDEO_ENCODER_FUNCTIONS: { readonly Open: "Open"; readonly Close: "Close"; readonly Start: "Start"; readonly Stop: "Stop"; readonly FetchFrame: "FetchFrame"; }; type VideoEncoderClientOptions = ServiceClientOptions & { /** Override service instance name (default `VideoEncoder0`). */serviceName?: string; }; declare function isVideoEncoderAvailable(options?: VideoEncoderClientOptions): boolean; declare function openVideoEncoder(options?: VideoEncoderClientOptions): ServiceHandle; declare function closeVideoEncoder(handle: ServiceHandle, options?: VideoEncoderClientOptions): void; declare function openEncoder(handle: ServiceHandle, config: VideoEncoderConfig, options?: VideoEncoderClientOptions): void; declare function closeEncoder(handle: ServiceHandle, options?: VideoEncoderClientOptions): void; declare function startEncoder(handle: ServiceHandle, options?: VideoEncoderClientOptions): void; declare function stopEncoder(handle: ServiceHandle, options?: VideoEncoderClientOptions): void; declare function fetchEncoderFrame(handle: ServiceHandle, sinkIndex?: number, options?: VideoEncoderClientOptions): void; //#endregion //#region src/video/encoder/encoder.d.ts type VideoEncoderModuleOptions = VideoEncoderClientOptions; /** * Inject a mock RPC host and reset the cached service handle (vitest / Node only). * * @param options - Client options, typically `{ host }` from `@brookesia/service/hosts/video-encoder` */ declare function configure(options: VideoEncoderModuleOptions): void; declare const encoder: { /** @returns `true` when video encoder service is registered */available(): boolean; /** Release the video encoder service binding. */ close(): void; /** * Open an encoding session with one or more sinks. * * @param config - `{ sinks: [{ format: 'H264' | 'MJPEG', width, height, fps }] }` */ open(config: VideoEncoderConfig): void; /** Close the active encoding session (keeps service handle). */ closeEncoder(): void; /** Start frame capture / encoding. */ start(): void; /** Stop frame capture / encoding. */ stop(): void; /** * Pull one encoded frame from a sink. * * @param sinkIndex - Sink index from {@link open} config (default `0`) */ fetchFrame(sinkIndex?: number): void; }; //#endregion export { VideoEncoderSinkFormat as _, VIDEO_ENCODER_FUNCTIONS as a, VideoEncoderState as b, closeVideoEncoder as c, openEncoder as d, openVideoEncoder as f, VideoEncoderDisplayConfig as g, VideoEncoderConfig as h, VIDEO_ENCODER_DEFAULT_SERVICE_NAME as i, fetchEncoderFrame as l, stopEncoder as m, configure as n, VideoEncoderClientOptions as o, startEncoder as p, encoder as r, closeEncoder as s, VideoEncoderModuleOptions as t, isVideoEncoderAvailable as u, VideoEncoderSinkInfo as v, VideoEncoderSourceConfig as y }; //# sourceMappingURL=index-T8P_-iZw.d.mts.map