import { Constructor } from '../../../../types/GlobalTypes';
import { TypedCopNode } from '../_Base';
import { Texture } from 'three/src/textures/Texture';
import { NodeParamsConfig } from '../../utils/params/ParamsConfig';
export declare function TextureParamConfig<TBase extends Constructor>(Base: TBase): {
    new (...args: any[]): {
        /** @param toggle on to allow updating the texture encoding */
        tencoding: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param sets the texture encoding */
        encoding: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.INTEGER>;
        /** @param toggle on to allow updating the texture mapping */
        tmapping: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param sets the texture mapping */
        mapping: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.INTEGER>;
        /** @param toggle on to allow updating the texture wrap */
        twrap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param sets the texture wrapS */
        wrapS: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.INTEGER>;
        /** @param sets the texture wrapT */
        wrapT: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.INTEGER>;
        wrapSep: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.SEPARATOR>;
        /** @param toggle on to allow updating the texture min filter */
        tminfilter: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param sets the texture min filter */
        minFilter: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.INTEGER>;
        /** @param toggle on to allow updating the texture mag filter */
        tmagfilter: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param sets the texture mag filter */
        magFilter: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.INTEGER>;
        /** @param toggle on to allow updating the texture anisotropy */
        tanisotropy: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param sets the anisotropy from the max value allowed by the renderer */
        useRendererMaxAnisotropy: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param sets the anisotropy manually */
        anisotropy: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.INTEGER>;
        /** @param TBD */
        useCameraRenderer: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        anisotropySep: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.SEPARATOR>;
        /** @param Toggle on to update the flipY */
        tflipY: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param sets the flipY */
        flipY: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param toggle on to update the texture transform */
        ttransform: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param updates the texture offset */
        offset: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.VECTOR2>;
        /** @param updates the texture repeat */
        repeat: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.VECTOR2>;
        /** @param updates the texture rotation */
        rotation: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.FLOAT>;
        /** @param updates the texture center */
        center: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.VECTOR2>;
    };
} & TBase;
declare const TextureParamsConfig_base: {
    new (...args: any[]): {
        /** @param toggle on to allow updating the texture encoding */
        tencoding: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param sets the texture encoding */
        encoding: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.INTEGER>;
        /** @param toggle on to allow updating the texture mapping */
        tmapping: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param sets the texture mapping */
        mapping: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.INTEGER>;
        /** @param toggle on to allow updating the texture wrap */
        twrap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param sets the texture wrapS */
        wrapS: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.INTEGER>;
        /** @param sets the texture wrapT */
        wrapT: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.INTEGER>;
        wrapSep: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.SEPARATOR>;
        /** @param toggle on to allow updating the texture min filter */
        tminfilter: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param sets the texture min filter */
        minFilter: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.INTEGER>;
        /** @param toggle on to allow updating the texture mag filter */
        tmagfilter: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param sets the texture mag filter */
        magFilter: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.INTEGER>;
        /** @param toggle on to allow updating the texture anisotropy */
        tanisotropy: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param sets the anisotropy from the max value allowed by the renderer */
        useRendererMaxAnisotropy: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param sets the anisotropy manually */
        anisotropy: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.INTEGER>;
        /** @param TBD */
        useCameraRenderer: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        anisotropySep: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.SEPARATOR>;
        /** @param Toggle on to update the flipY */
        tflipY: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param sets the flipY */
        flipY: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param toggle on to update the texture transform */
        ttransform: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param updates the texture offset */
        offset: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.VECTOR2>;
        /** @param updates the texture repeat */
        repeat: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.VECTOR2>;
        /** @param updates the texture rotation */
        rotation: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.FLOAT>;
        /** @param updates the texture center */
        center: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../poly/ParamType").ParamType.VECTOR2>;
    };
} & typeof NodeParamsConfig;
declare class TextureParamsConfig extends TextureParamsConfig_base {
}
declare class TextureCopNode extends TypedCopNode<TextureParamsConfig> {
    params_config: TextureParamsConfig;
    readonly texture_params_controller: TextureParamsController;
}
export declare class TextureParamsController {
    protected node: TextureCopNode;
    constructor(node: TextureCopNode);
    update(texture: Texture): void;
    private _renderer_controller;
    private _update_anisotropy;
    private _update_texture_transform;
    private _update_offset;
    private _update_repeat;
    private _update_rotation;
    private _update_center;
    static PARAM_CALLBACK_update_offset(node: TextureCopNode): void;
    static PARAM_CALLBACK_update_repeat(node: TextureCopNode): void;
    static PARAM_CALLBACK_update_rotation(node: TextureCopNode): void;
    static PARAM_CALLBACK_update_center(node: TextureCopNode): void;
}
export {};
