import { BaseSopOperation } from './_Base';
import { Vector2, Vector3 } from 'three';
import { CoreGroup } from '../../../core/geometry/Group';
import { InputCloneMode } from '../../../engine/poly/InputCloneMode';
import { DefaultOperationParams } from '../../../core/operations/_Base';
interface PlaneSopParams extends DefaultOperationParams {
    size: Vector2;
    useSegmentsCount: boolean;
    stepSize: number;
    segments: Vector2;
    direction: Vector3;
    center: Vector3;
    asLines: boolean;
}
export declare const DEFAULT_PARAMS: PlaneSopParams;
export declare class PlaneSopOperation extends BaseSopOperation {
    static readonly DEFAULT_PARAMS: PlaneSopParams;
    static readonly INPUT_CLONED_STATE = InputCloneMode.NEVER;
    static type(): Readonly<'plane'>;
    private _coreTransform;
    cook(inputCoreGroups: CoreGroup[], params: PlaneSopParams): CoreGroup;
    private _cookWithoutInput;
    private _cookWithInput;
    private _createPlaneObject;
    private _createPlane;
}
export {};
