/** @packageDocumentation
 * @module DisplayStyles
 */
/** Wire format describing [[PlanProjectionSettings]].
 * @public
 * @extensions
 */
export interface PlanProjectionSettingsProps {
    /** If defined, the absolute height in meters at which to display the model. */
    elevation?: number;
    /** If defined, specifies a uniform transparency applied to all of the geometry in the model, in the range 0.0 (fully opaque) to 1.0 (fully transparent). */
    transparency?: number;
    /** If defined and true, the model is displayed as an overlay in the view (without depth testing) so that it is always visible behind other geometry. */
    overlay?: boolean;
    /** If defined and true, subcategory display priority is used to specify the draw order of portions of the model. Geometry belonging to a subcategory with a higher priority
     * value is drawn on top of coincident geometry belonging to a subcategory with a lower priority value. The priorities can be modified at display time using
     * [FeatureSymbology.Overrides]($frontend). Note that subcategory "layers" cross model boundaries; that is, geometry belonging to the same subcategory in different models
     * are drawn as part of the same layer.
     */
    enforceDisplayPriority?: boolean;
}
/** Describes how to draw a plan projection model. A plan projection model is a [GeometricModel3d]($backend) whose geometry all lies in
 * a single XY plane, wherein the Z coordinate of the plane may be arbitrary or flexible. Multiple plan projection models can be combined into one view
 * and drawn as "layers" with relative priorities.
 * @see [[DisplayStyle3dSettings.setPlanProjectionSettings]] to define plan projection settings for a [DisplayStyle3dState]($frontend).
 * @see [GeometricModel3d.isPlanProjection]($backend).
 * @public
 */
export declare class PlanProjectionSettings {
    /** See [[PlanProjectionSettingsProps.elevation]] */
    readonly elevation?: number;
    /** See [[PlanProjectionSettingsProps.transparency]] */
    readonly transparency?: number;
    /** See [[PlanProjectionSettingsProps.overlay]] */
    readonly overlay: boolean;
    /** See [[PlanProjectionSettingsProps.enforceDisplayPriority]] */
    readonly enforceDisplayPriority?: boolean;
    toJSON(): PlanProjectionSettingsProps;
    static fromJSON(props: PlanProjectionSettingsProps | undefined): PlanProjectionSettings | undefined;
    private constructor();
    /** Create a copy of this PlanProjectionSettings, optionally modifying some of its properties.
     * @param changedProps JSON representation of the properties to change.
     * @returns A PlanProjectionSettings with all of its properties set to match those of `this`, except those explicitly defined in `changedProps`.
     */
    clone(changedProps?: PlanProjectionSettingsProps): PlanProjectionSettings;
    /** Return true if these settings are equivalent to the specified settings. */
    equals(other: PlanProjectionSettings): boolean;
}
//# sourceMappingURL=PlanProjectionSettings.d.ts.map