import { Constructor } from '../../../../types/GlobalTypes';
import { TypedCopNode } from '../_Base';
import { Texture } from 'three';
import { NodeParamsConfig } from '../../utils/params/ParamsConfig';
interface TextureParamConfigDefaults {
    tcolorSpace: boolean | number;
    colorSpace: string;
}
export declare function TextureParamConfig<TBase extends Constructor>(Base: TBase, defaults?: TextureParamConfigDefaults): {
    new (...args: any[]): {
        /** @param toggle on to allow updating the texture encoding */
        tcolorSpace: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the texture encoding */
        colorSpace: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.STRING>;
        /** @param toggle on to allow updating the texture mapping */
        tmapping: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the texture mapping */
        mapping: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>;
        /** @param toggle on to allow updating the texture wrap */
        twrap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the texture wrapS */
        wrapS: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>;
        /** @param sets the texture wrapT */
        wrapT: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>;
        /** @param toggle on to allow updating the texture min filter */
        tminFilter: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the texture min filter */
        minFilter: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>;
        /** @param toggle on to allow updating the texture mag filter */
        tmagFilter: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the texture mag filter */
        magFilter: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>;
        /** @param toggle on to allow updating the texture anisotropy */
        tanisotropy: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the anisotropy from the max value allowed by the renderer */
        useRendererMaxAnisotropy: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the anisotropy manually */
        anisotropy: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>;
        /** @param Toggle on to update the flipY */
        tflipY: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the flipY */
        flipY: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param toggle on to update the texture transform */
        ttransform: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param updates the texture offset */
        offset: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.VECTOR2>;
        /** @param updates the texture repeat */
        repeat: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.VECTOR2>;
        /** @param updates the texture rotation */
        rotation: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>;
        /** @param updates the texture center */
        center: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.VECTOR2>;
        /** @param toggle on to display advanced parameters */
        tadvanced: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param toggle on to allow overriding the texture format */
        tformat: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the texture format */
        format: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>;
        /** @param toggle on to allow overriding the texture type */
        ttype: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the texture ty[e] */
        type: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>;
    };
} & TBase;
declare const CopTextureParamsConfig_base: {
    new (...args: any[]): {
        /** @param toggle on to allow updating the texture encoding */
        tcolorSpace: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the texture encoding */
        colorSpace: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.STRING>;
        /** @param toggle on to allow updating the texture mapping */
        tmapping: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the texture mapping */
        mapping: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>;
        /** @param toggle on to allow updating the texture wrap */
        twrap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the texture wrapS */
        wrapS: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>;
        /** @param sets the texture wrapT */
        wrapT: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>;
        /** @param toggle on to allow updating the texture min filter */
        tminFilter: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the texture min filter */
        minFilter: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>;
        /** @param toggle on to allow updating the texture mag filter */
        tmagFilter: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the texture mag filter */
        magFilter: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>;
        /** @param toggle on to allow updating the texture anisotropy */
        tanisotropy: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the anisotropy from the max value allowed by the renderer */
        useRendererMaxAnisotropy: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the anisotropy manually */
        anisotropy: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>;
        /** @param Toggle on to update the flipY */
        tflipY: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the flipY */
        flipY: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param toggle on to update the texture transform */
        ttransform: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param updates the texture offset */
        offset: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.VECTOR2>;
        /** @param updates the texture repeat */
        repeat: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.VECTOR2>;
        /** @param updates the texture rotation */
        rotation: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>;
        /** @param updates the texture center */
        center: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.VECTOR2>;
        /** @param toggle on to display advanced parameters */
        tadvanced: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param toggle on to allow overriding the texture format */
        tformat: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the texture format */
        format: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>;
        /** @param toggle on to allow overriding the texture type */
        ttype: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
        /** @param sets the texture ty[e] */
        type: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>;
    };
} & typeof NodeParamsConfig;
declare class CopTextureParamsConfig extends CopTextureParamsConfig_base {
}
declare class TextureCopNode extends TypedCopNode<CopTextureParamsConfig> {
    paramsConfig: CopTextureParamsConfig;
    readonly textureParamsController: TextureParamsController;
}
export declare class TextureParamsController {
    protected node: TextureCopNode;
    constructor(node: TextureCopNode);
    update(texture: Texture): Promise<void>;
    private _updateColorSpace;
    private _updateAdvanced;
    private _updateMapping;
    private _updateWrap;
    private _updateFilter;
    private _updateFlip;
    private _rendererController;
    private _updateAnisotropy;
    private _maxRendererAnisotropy;
    private _updateTransform;
    private _updateTransformOffset;
    private _updateTransformRepeat;
    private _updateTransformRotation;
    private _updateTransformCenter;
    static PARAM_CALLBACK_update_encoding(node: TextureCopNode): void;
    static PARAM_CALLBACK_update_mapping(node: TextureCopNode): void;
    static PARAM_CALLBACK_update_wrap(node: TextureCopNode): void;
    static PARAM_CALLBACK_update_filter(node: TextureCopNode): void;
    static PARAM_CALLBACK_update_anisotropy(node: TextureCopNode): void;
    static PARAM_CALLBACK_update_flipY(node: TextureCopNode): void;
    static PARAM_CALLBACK_update_transform(node: TextureCopNode): void;
    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;
    static PARAM_CALLBACK_update_advanced(node: TextureCopNode): void;
    static copyTextureAttributes(texture: Texture, inputTexture: Texture): void;
    paramLabelsParams(): (import("../../../index_all").BooleanParam | import("../../../index_all").IntegerParam | import("../../../index_all").StringParam)[];
    paramLabels(): string[];
}
export {};
