import { cv } from "../index";
import type { OperationFunction, OperationName, OperationOptions, OperationResult } from "./index";
export declare class OperationRegistry {
    private operations;
    private defaultOptions;
    register<Name extends OperationName>(name: Name, operation: OperationFunction<OperationOptions<Name>>, defaultOptions?: () => Partial<OperationOptions<Name>>): void;
    getOperation(name: string): OperationFunction<any> | undefined;
    getDefaultOptionsGenerator(name: string): any;
    hasOperation(name: string): boolean;
    getOperationNames(): OperationName[];
}
export declare const registry: OperationRegistry;
export declare function executeOperation<Name extends OperationName>(operationName: Name, img: cv.Mat, options?: Partial<OperationOptions<Name>>): OperationResult;
