import { Optional } from '@ephox/katamari';
export interface MatrixNavigationOutcome<A> {
    readonly rowIndex: number;
    readonly columnIndex: number;
    readonly cell: A;
}
export declare type MatrixNavigationFunc<A> = (matrix: A[][], startRow: number, startCol: number) => Optional<MatrixNavigationOutcome<A>>;
declare const cycleRight: <A>(matrix: A[][], startRow: number, startCol: number) => Optional<MatrixNavigationOutcome<A>>;
declare const cycleLeft: <A>(matrix: A[][], startRow: number, startCol: number) => Optional<MatrixNavigationOutcome<A>>;
declare const cycleUp: <A>(matrix: A[][], startRow: number, startCol: number) => Optional<MatrixNavigationOutcome<A>>;
declare const cycleDown: <A>(matrix: A[][], startRow: number, startCol: number) => Optional<MatrixNavigationOutcome<A>>;
declare const moveLeft: <A>(matrix: A[][], startRow: number, startCol: number) => Optional<MatrixNavigationOutcome<A>>;
declare const moveRight: <A>(matrix: A[][], startRow: number, startCol: number) => Optional<MatrixNavigationOutcome<A>>;
declare const moveUp: <A>(matrix: A[][], startRow: number, startCol: number) => Optional<MatrixNavigationOutcome<A>>;
declare const moveDown: <A>(matrix: A[][], startRow: number, startCol: number) => Optional<MatrixNavigationOutcome<A>>;
export { cycleRight, cycleLeft, cycleUp, cycleDown, moveLeft, moveRight, moveUp, moveDown };
//# sourceMappingURL=MatrixNavigation.d.ts.map