import type { Color, LayerContext, UpdateParameters } from "@deck.gl/core";
import { Layer } from "@deck.gl/core";
import type { Device } from "@luma.gl/core";
import { Model } from "@luma.gl/engine";
import type { ExtendedLayerProps } from "../utils/layerTools";
export interface NorthArrow3DLayerProps extends ExtendedLayerProps {
    color: Color;
}
export default class NorthArrow3DLayer extends Layer<NorthArrow3DLayerProps> {
    initializeState(context: LayerContext): void;
    shouldUpdateState(): boolean;
    updateState({ context }: UpdateParameters<this>): void;
    setShaderModuleProps(args: Partial<{
        [x: string]: Partial<Record<string, unknown> | undefined>;
    }>): void;
    draw(args: any): void;
    _getModels(device: Device): {
        model: Model;
        models: Model[];
        modelsByName: {
            grids: Model;
        };
    };
}
