import { BaseSopOperation } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { Vector3 } from 'three';
import { InputCloneMode } from '../../../engine/poly/InputCloneMode';
import { DefaultOperationParams } from '../../../core/operations/_Base';
interface TubeSopParams extends DefaultOperationParams {
    singleRadius: boolean;
    radius: number;
    radiusTop: number;
    radiusBottom: number;
    height: number;
    segmentsRadial: number;
    segmentsHeight: number;
    cap: boolean;
    center: Vector3;
    direction: Vector3;
    open: boolean;
    thetaStart: number;
    thetaLength: number;
}
export declare class TubeSopOperation extends BaseSopOperation {
    static readonly DEFAULT_PARAMS: TubeSopParams;
    static readonly INPUT_CLONED_STATE = InputCloneMode.NEVER;
    static type(): Readonly<'tube'>;
    cook(inputCoreGroups: CoreGroup[], params: TubeSopParams): CoreGroup;
}
export {};
