import { BaseSopOperation } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { Vector2, Vector3, Vector4 } from 'three';
import { InputCloneMode } from '../../../engine/poly/InputCloneMode';
import { DefaultOperationParams } from '../../../core/operations/_Base';
interface AttribSetAtIndexSopParams extends DefaultOperationParams {
    index: number;
    class: number;
    type: number;
    name: string;
    size: number;
    value1: number;
    value2: Vector2;
    value3: Vector3;
    value4: Vector4;
    string: string;
}
export declare class AttribSetAtIndexSopOperation extends BaseSopOperation {
    static readonly DEFAULT_PARAMS: AttribSetAtIndexSopParams;
    static readonly INPUT_CLONED_STATE = InputCloneMode.FROM_NODE;
    static type(): Readonly<'attribSetAtIndex'>;
    cook(inputCoreGroups: CoreGroup[], params: AttribSetAtIndexSopParams): CoreGroup;
    private _addAttribute;
    private _addPointAttribute;
    private _addObjectAttribute;
    private _addCoreGroupAttribute;
    private _addNumericAttributeToPoints;
    private _addNumericAttributeToObject;
    private _addNumericAttributeToCoreGroup;
    private _addStringAttributeToPoints;
    private _addStringAttributeToObject;
    private _addStringAttributeToCoreGroup;
    private static _attribType;
    static defaultAttribValue(params: AttribSetAtIndexSopParams): string | 0 | Vector2 | Vector3 | Vector4 | undefined;
    private static _defaultStringValue;
    private static _defaultNumericValue;
}
export {};
