import { SdkVerifierType } from '../generated/zenid-enums.generated.js'; import { UploadReadyData, VerifierSettingsBase, VerifierStateContainerForPublicDataBase } from '../generated/zenid-types.generated.js'; import ZenidSDK from '../internal/zenid-sdk.js'; import { CameraFacingMode, ICamera, IVerifier, IVisualizer, OnFrameProcessedCallback } from "../../interfaces/verification-system-interfaces.js"; /** * Generic base class for all verifiers * @template TPublicData - The type of public data returned from processing * @template TSettings - The type of settings used for initialization * @template TUploadData - The type of upload data returned */ export declare abstract class VerifierBase implements IVerifier { protected sdk: ZenidSDK; protected feature: SdkVerifierType; protected stopCameraLoopRequested: boolean; private settings; private processingLoopPromise; private readonly targetFrameTime; private lastFrameTime; private frameProcessingResolution; static readonly measurePerformanceInterval: number; private hasProcessedFrame; private measuredFrameTimes; private lastMeasureUpdateTime; private lastRenderTime; private lastProcessTime; private renderFps; private processFps; /** * Create a new verifier * @param feature - The feature name (e.g., 'document', 'selfie') */ protected constructor(feature: SdkVerifierType); facingMode(): CameraFacingMode; /** * Get render commands for visualization * @param width - Width of the visualization * @param height - Height of the visualization */ getRenderCommands(width: number, height: number): Promise; getSettings(): VerifierSettingsBase | null; getStateContainer(): Promise; /** * Get the upload-ready data parsed as TUploadData */ getUploadReadyData(): Promise; getVerifierType(): SdkVerifierType; /** * Initialize the verifier * @param settings - Settings object of type TSettings */ initOrRestart(settings?: TSettings | string): Promise; /** * Process a frame and return the raw JSON response * @param imageData - The image data to process * @param width - The width of the image * @param height - The height of the image */ processFrame(imageData: Uint8ClampedArray, width: number, height: number): Promise; processFramesFromCamera(camera: ICamera, visualizer: IVisualizer, onGiveMe?: ((state: TPublicData) => Promise) | null, onFrameProcessed?: OnFrameProcessedCallback, signal?: AbortSignal): Promise; /** * Check if the verifier is ready for a new frame */ readyForFrame(): Promise; /** * Restart the verifier */ restartWithPreviousSettings(): Promise; /** * Set the global visualizer version * @param visualizerVersion - Visualizer version */ setVisualizerVersion(visualizerVersion?: number): Promise; /** * Requests the processing loop to stop and returns a promise that resolves * when the loop has completely stopped processing * @returns Promise that resolves when the loop has completely stopped */ stopProcessingLoop(): Promise; /** * Submit an external response to the verifier * @param responseJson */ submitExternalResponse(responseJson: string): Promise; protected runProcessingLoop(camera: ICamera, visualizer: IVisualizer, onGiveMe?: ((state: TPublicData) => Promise) | null, onFrameProcessed?: OnFrameProcessedCallback, signal?: AbortSignal): Promise; private delay; private updateRenderFps; private updateProcessFps; } //# sourceMappingURL=verifier-base.d.ts.map