import { Component } from "../../hierarchy_object/Component";
import type { ComponentConstructor } from "../../hierarchy_object/ComponentConstructor";
/**
 * editor grid renderer for debug
 *
 * just add this component to your camera it will render grid
 *
 *
 * disallow multiple component
 *
 * require components: `Camera`
 */
export declare class EditorGridRenderer extends Component {
    readonly disallowMultipleComponent: boolean;
    readonly requiredComponents: ComponentConstructor[];
    private _cssHtmlRenderer;
    private _cssHtmlRendererObject;
    private _gridCellWidth;
    private _gridCellHeight;
    private _renderWidth;
    private _renderHeight;
    private _additiveViewScale;
    private _zOffset;
    awake(): void;
    onEnable(): void;
    onDisable(): void;
    private readonly _lastPosition;
    update(): void;
    onDestroy(): void;
    private updateBackgroundSize;
    /**
     * grid cell width. (default: 1)
     */
    get gridCellWidth(): number;
    /**
     * grid cell width. (default: 1)
     */
    set gridCellWidth(value: number);
    /**
     * grid cell height. (default: 1)
     */
    get gridCellHeight(): number;
    /**
     * grid cell height. (default: 1)
     */
    set gridCellHeight(value: number);
    /**
     * render width. (default: 18)
     *
     * if grid does not cover the whole screen, you must increase this value
     */
    get renderWidth(): number;
    /**
     * render width. (default: 18)
     *
     * if grid does not cover the whole screen, you must increase this value
     */
    set renderWidth(value: number);
    /**
     * render height. (default: 10)
     *
     * if grid does not cover the whole screen, you must increase this value
     */
    get renderHeight(): number;
    /**
     * render height. (default: 10)
     *
     * if grid does not cover the whole screen, you must increase this value
     */
    set renderHeight(value: number);
    /**
     * grid line width. (default: 0.2)
     *
     * if line width is too small, grid will not be visible on screen
     */
    get lineWidth(): number;
    /**
     * grid line width. (default: 0.2)
     *
     * if line width is too small, grid will not be visible on screen
     */
    set lineWidth(value: number);
    /**
     * z offset from the camera. (default: 0)
     */
    get zOffset(): number;
    /**
     * z offset from the camera. (default: 0)
     */
    set zOffset(value: number);
}
