export declare type VideoExtensionDelegate = {
    connectVideo(options: VideoExtensionOptions): void;
    config(): VideoModuleConfig;
    render(inputs: WebGLTexture[], currentTime: number): WebGLTexture[];
    disconnectVideo(): void;
};
export declare type VideoExtensionOptions = {
    width: number;
    height: number;
    gl: WebGLRenderingContext;
};
export declare type VideoModuleConfig = {
    numberOfInputs: number;
    numberOfOutputs: number;
};
export declare class VideoExtension {
    delegates: Map<string, VideoExtensionDelegate>;
    connections: Map<string, string>;
    constructor();
    setDelegate(pluginId: string, delegate?: VideoExtensionDelegate): void;
    getDelegate(pluginId: string): VideoExtensionDelegate | undefined;
}
