import { GlobalsGlNode } from '../../Globals';
import { GlConnectionPointType } from '../../../utils/io/connections/Gl';
import { BaseGlNodeType } from '../../_Base';
import { ShadersCollectionController } from '../utils/ShadersCollectionController';
import { GlobalsBaseControllerType } from './Common';
export declare abstract class GlobalsBaseController {
    abstract type(): GlobalsBaseControllerType;
    handleGlobalsNode(globalsNode: GlobalsGlNode, outputName: string, shadersCollectionController: ShadersCollectionController): void;
    handleGlobalVar(globalsNode: BaseGlNodeType, outputName: string, glType: GlConnectionPointType, shadersCollectionController: ShadersCollectionController): void;
    abstract readAttribute(node: BaseGlNodeType, glType: GlConnectionPointType, attribName: string, shadersCollectionController: ShadersCollectionController): string | undefined;
}
