import { Layer } from '@deck.gl/core';
import { Model } from '@luma.gl/engine';
import type { Accessor, Color, DefaultProps, LayerProps, Position, Unit, UpdateParameters } from '@deck.gl/core';
/** Properties supported by the internal dependency marker geometry layer. */
export type GeometryLayerProps<DataT = unknown> = LayerProps & _GeometryLayerProps<DataT>;
type _GeometryLayerProps<DataT> = {
    /** Units used by marker size. @defaultValue 'common' */
    sizeUnits?: Unit;
    /** Scale applied to marker size. @defaultValue 1 */
    sizeScale?: number;
    /** Retained for API compatibility with existing callers. */
    nodeDepth?: unknown;
    /** Marker interpolation route. @defaultValue 'line' */
    interpolationMode?: 'line' | 'arc';
    /** Accessor returning encoded picking color. */
    getPickingColor?: Accessor<DataT, Color>;
    /** Accessor returning the marker segment start. */
    getSourcePosition?: Accessor<DataT, Position>;
    /** Accessor returning the marker segment end. */
    getTargetPosition?: Accessor<DataT, Position>;
    /** Accessor returning marker position ratio along the segment. */
    getPositionRatio?: Accessor<DataT, number>;
    /** Accessor returning marker bounding box as `[along, width]`. */
    getSize?: Accessor<DataT, [number, number]>;
    /** Accessor returning marker color as `[R, G, B, A?]`. */
    getColor?: Accessor<DataT, Color>;
    /** Accessor returning arc height when `interpolationMode` is `'arc'`. */
    getArcHeight?: Accessor<DataT, number>;
    /** Accessor returning arc tilt when `interpolationMode` is `'arc'`. */
    getArcTilt?: Accessor<DataT, number>;
};
/** Renders triangle markers resolved by {@link DependencyArrowLayer}. */
export declare class GeometryLayer<DataT = unknown> extends Layer<Required<_GeometryLayerProps<DataT>>> {
    static defaultProps: DefaultProps<_GeometryLayerProps<any>>;
    static layerName: string;
    state: {
        model?: Model;
    };
    getShaders(): any;
    initializeState(): void;
    updateState(params: UpdateParameters<this>): void;
    draw(): void;
    protected _getModel(): Model;
}
export {};
//# sourceMappingURL=geometry-layer.d.ts.map