import type { NobjcObject } from "objc-js";
import type { _SKWarpGeometry } from "./SKWarpGeometry.js";
import type { _NSCoder } from "../Foundation/NSCoder.js";
export declare class _SKWarpGeometryGrid extends _SKWarpGeometry {
    static alloc(): _SKWarpGeometryGrid;
    static new(): _SKWarpGeometryGrid;
    init(): _SKWarpGeometryGrid;
    /** 1x1 grid with no distortion */
    static grid(): _SKWarpGeometryGrid;
    /** grid of the specified dimensions and no distortion */
    static gridWithColumns$rows$(cols: number, rows: number): _SKWarpGeometryGrid;
    static gridWithColumns$rows$sourcePositions$destPositions$(cols: number, rows: number, sourcePositions: NobjcObject | null, destPositions: NobjcObject | null): _SKWarpGeometryGrid;
    initWithCoder$(aDecoder: _NSCoder): _SKWarpGeometryGrid | null;
    /** init with the specified dimensions, source and dest positions. */
    initWithColumns$rows$sourcePositions$destPositions$(cols: number, rows: number, sourcePositions: NobjcObject | null, destPositions: NobjcObject | null): _SKWarpGeometryGrid;
    sourcePositionAtIndex$(index: number): NobjcObject;
    destPositionAtIndex$(index: number): NobjcObject;
    gridByReplacingSourcePositions$(sourcePositions: NobjcObject): _SKWarpGeometryGrid;
    gridByReplacingDestPositions$(destPositions: NobjcObject): _SKWarpGeometryGrid;
    /** the number of columns in this grid */
    numberOfColumns(): number;
    /** the number of rows in this grid */
    numberOfRows(): number;
    /**
     * the total number of (sourcePosition + destPosition) pairs that define this grid. For a given dimension this is equal to (numberOfColumns + 1) * (numberOfRows + 1).
     */
    vertexCount(): number;
}
