import { TypedSopNode } from './_Base';
import { CoreObject } from '../../../core/geometry/Object';
import { CoreGroup } from '../../../core/geometry/Group';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
declare class ColorSopParamsConfig extends NodeParamsConfig {
    /** @param toggle on if the color should be copied from another attribute */
    fromAttribute: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
    /** @param attribute name to copy value from */
    attribName: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.STRING>;
    /** @param color valu */
    color: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.COLOR>;
    /** @param toggle on if the value should be set with hsv values rather than rgb */
    asHsv: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
}
export declare class ColorSopNode extends TypedSopNode<ColorSopParamsConfig> {
    params_config: ColorSopParamsConfig;
    static type(): string;
    private _r_arrays_by_geometry_uuid;
    private _g_arrays_by_geometry_uuid;
    private _b_arrays_by_geometry_uuid;
    static displayedInputNames(): string[];
    initializeNode(): void;
    cook(input_contents: CoreGroup[]): Promise<void>;
    _set_fromAttribute(core_object: CoreObject): void;
    private _create_init_color;
    _eval_simple_values(core_object: CoreObject): void;
    _eval_expressions(core_object: CoreObject): Promise<void>;
    private _update_from_param;
    private _init_array_if_required;
    private _commit_tmp_values;
}
export {};
