import { BaseSopOperation } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { InputCloneMode } from '../../../engine/poly/InputCloneMode';
import { DefaultOperationParams } from '../../../core/operations/_Base';
export declare enum AttribType {
    Float32BufferAttribute = "Float32BufferAttribute",
    Float16BufferAttribute = "Float16BufferAttribute",
    Uint32BufferAttribute = "Uint32BufferAttribute",
    Int32BufferAttribute = "Int32BufferAttribute",
    Uint16BufferAttribute = "Uint16BufferAttribute",
    Int16BufferAttribute = "Int16BufferAttribute",
    Uint8ClampedBufferAttribute = "Uint8ClampedBufferAttribute",
    Uint8BufferAttribute = "Uint8BufferAttribute",
    Int8BufferAttribute = "Int8BufferAttribute"
}
export declare const ATTRIB_TYPES: AttribType[];
interface AttribCastSopParams extends DefaultOperationParams {
    castAttributes: boolean;
    mask: string;
    castIndex: boolean;
    type: number;
}
export declare class AttribCastSopOperation extends BaseSopOperation {
    static readonly DEFAULT_PARAMS: AttribCastSopParams;
    static readonly INPUT_CLONED_STATE = InputCloneMode.FROM_NODE;
    static type(): Readonly<'attribCast'>;
    cook(inputCoreGroups: CoreGroup[], params: AttribCastSopParams): CoreGroup;
    private _castPointAttributes;
}
export {};
