/** @packageDocumentation
 * @module Rendering
 */
import { Id64String, IDisposable } from "@itwin/core-bentley";
import { Transform } from "@itwin/core-geometry";
import { PlanarClipMaskState } from "../PlanarClipMaskState";
import { SpatialClassifierTileTreeReference, Tile } from "../tile/internal";
import { SceneContext } from "../ViewContext";
/**  @internal */
export interface PlanarClassifierTarget {
    modelId: Id64String;
    tiles: Tile[];
    location: Transform;
    isPointCloud: boolean;
}
/** An opaque representation of a planar classifier applied to geometry within a [[Viewport]].
 * @internal
 */
export declare abstract class RenderPlanarClassifier implements IDisposable {
    abstract dispose(): void;
    abstract collectGraphics(context: SceneContext, target: PlanarClassifierTarget): void;
    abstract setSource(classifierTreeRef?: SpatialClassifierTileTreeReference, planarClipMask?: PlanarClipMaskState): void;
}
/** @internal */
export type PlanarClassifierMap = Map<string, RenderPlanarClassifier>;
//# sourceMappingURL=RenderPlanarClassifier.d.ts.map