import { BaseSopOperation } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { InputCloneMode } from '../../../engine/poly/InputCloneMode';
import { DefaultOperationParams } from '../../../core/operations/_Base';
interface AttribPromoteSopParams extends DefaultOperationParams {
    group: string;
    classFrom: number;
    classTo: number;
    mode: number;
    name: string;
}
export declare enum AttribPromoteMode {
    MIN = "min",
    MAX = "max",
    FIRST_FOUND = "first found"
}
export declare const ATTRIB_PROMOTE_MODES: AttribPromoteMode[];
export declare class AttribPromoteSopOperation extends BaseSopOperation {
    static readonly DEFAULT_PARAMS: AttribPromoteSopParams;
    static readonly INPUT_CLONED_STATE = InputCloneMode.FROM_NODE;
    static type(): Readonly<'attribPromote'>;
    cook(inputCoreGroups: CoreGroup[], params: AttribPromoteSopParams): CoreGroup;
    private _promoteAttribute;
    private _convertSrcValues;
    private _convertValuesMin;
    private _convertValuesMax;
    private _convertValuesMinMax;
    private _convertValuesFirstFound;
}
export {};
