/**
 * Can create a texture from a snapshot of a COP/video or COP/webcam
 *
 */
import { Constructor } from '../../../types/GlobalTypes';
import { TypedCopNode } from './_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { Texture } from 'three';
import { CopType } from '../../poly/registers/nodes/types/Cop';
export declare function SnapshotCopParamConfig<TBase extends Constructor>(Base: TBase): {
    new (...args: any[]): {
        /** @param capture */
        capture: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>;
    };
} & TBase;
declare const SnapshotCopParamsConfig_base: {
    new (...args: any[]): {
        /** @param capture */
        capture: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>;
    };
} & typeof NodeParamsConfig;
declare class SnapshotCopParamsConfig extends SnapshotCopParamsConfig_base {
}
export declare class SnapshotCopNode extends TypedCopNode<SnapshotCopParamsConfig> {
    paramsConfig: SnapshotCopParamsConfig;
    static type(): CopType;
    initializeNode(): void;
    cook(inputTextures: Texture[]): Promise<void>;
    static PARAM_CALLBACK_snapshot(node: SnapshotCopNode): void;
    private paramCallbackSnapshot;
    private _videoSnapshotCanvas;
    private _canvas;
    private _canvasTexture;
}
export {};
