import {type TurboModule, TurboModuleRegistry } from "react-native";
export interface Spec extends TurboModule {
    install():boolean;
    createInstance(): boolean;
    destroyInstance(): boolean;
    setGlobalIntraOpNumThreads(intraOpNumThreads: number): void;
    clearDLModelBuffers(): void;
    switchCapturingTemplate(templateName: string): Promise<void>;
    startCapturing(templateName:string) : Promise<void>;
    stopCapturing() : Promise<void>;
    setInput(isaId: string) : void;
    continueCRR() : void;
    removeAllResultListeners(): void;
    addFilter(filterId: string): void;
    removeFilter(filterId: string): void;
    resetSettings(): Promise<void>;
    getSimplifiedSettings(templateName: string): Promise<unknown>;
    updateSettings(settings: unknown, templateName: string): Promise<void>;
    initSettings(content: string): Promise<void>;
    initSettingsFromFile(file: string): Promise<void>;
    outputSettings(templateName: string, includeDefaultValues: boolean): Promise<string | null>;
    outputSettingsToFile(templateName: string, file: string, includeDefaultValues: boolean): Promise<void>;

    addListener(type: string): void;
    removeListeners(count: number): void;
    addResultReceiver(type: string): void;
    removeResultReceiver(type: string): void;
}

export default TurboModuleRegistry.get<Spec>("DynamsoftCaptureVisionRouterModule") as Spec | null;
