import { Material, Texture } from 'three';
import { BaseCopNodeType } from '../../cop/_Base';
import { BaseNodeType } from '../../_Base';
export type MaterialTexturesRecord = Map<string, Texture | null>;
export type SetParamsTextureNodesRecord = Map<string, BaseCopNodeType>;
export declare abstract class BaseController {
    protected node: BaseNodeType;
    constructor(node: BaseNodeType);
    initializeNode(): void;
    abstract updateMaterial(material: Material): void | Promise<void>;
    setParamsFromMaterial(material: Material, record: SetParamsTextureNodesRecord): void;
    getTextures(material: Material, record: MaterialTexturesRecord): void;
}
