import { rand } from '@df0/hashing'; import { Abstract, PerlinConfig, Rectangle, WorldCoords } from '@df0/types'; declare type Vector = { x: number; y: number; }; export declare const valueOf: (v: Vector) => [number, number]; export declare type PerlinRand = ReturnType; export declare type GridPoint = WorldCoords & { __value: never; }; export declare type PerlinOctave = Abstract; export declare const PerlinOctave: { _0: PerlinOctave; _1: PerlinOctave; _2: PerlinOctave; }; export declare function right(topLeft: GridPoint, scale: number): GridPoint; export declare function up(topLeft: GridPoint, scale: number): GridPoint; export declare function isGridPoint(coords: WorldCoords, scale: number): coords is GridPoint; export declare function getGridPoint(bottomLeft: WorldCoords, scale: number): GridPoint; export declare function getPerlinChunks(footprint: Rectangle, lengthScale: number): Iterable; export declare type Quadrant = Abstract; export declare const Quadrant: { TopRight: Quadrant; TopLeft: Quadrant; BottomLeft: Quadrant; BottomRight: Quadrant; }; export declare function getQuadrant(bottomLeft: GridPoint): Quadrant; export declare function getCachedGradient(quadrant: Quadrant, coords: GridPoint, config: PerlinConfig, pow: PerlinOctave): Vector; export {};