import { TypedSopNode } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { SopType } from '../../poly/registers/nodes/types/Sop';
import { CoreObjectType, ObjectContent } from '../../../core/geometry/ObjectContent';
declare class ColorSopParamsConfig extends NodeParamsConfig {
    /** @param toggle on if the color should be copied from another attribute */
    fromAttribute: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param attribute name to copy value from */
    attribName: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
    /** @param color valu */
    color: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.COLOR>;
    /** @param toggle on if the value should be set with hsv values rather than rgb */
    asHsv: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
}
export declare class ColorSopNode extends TypedSopNode<ColorSopParamsConfig> {
    paramsConfig: ColorSopParamsConfig;
    static type(): SopType;
    private _arrayByGeometryUUID;
    initializeNode(): void;
    cook(inputCoreGroups: CoreGroup[]): Promise<void>;
    private _setFromAttribute;
    private _createInitColor;
    _evalSimpleValues<T extends CoreObjectType>(object: ObjectContent<T>): void;
    _evalExpressions<T extends CoreObjectType>(object: ObjectContent<T>): Promise<void>;
    private _updateFromParam;
    private _initArrayIfRequired;
    private _commitTmpValues;
}
export {};
