import { Piece } from "./piece";
import { SquareIndex } from "./square";
import { IMove } from "./move";
import { BoardPosition } from "./boardPosition";
import { Colour } from "./colour";
interface ILineMoveGenerator {
    generateMoves(boardPosition: BoardPosition, piece: Piece, index: SquareIndex, posX: number, posY: number, offsetX: number, offsetY: number, colour: Colour, moveList: Array<IMove>): void;
    generateBishopLikeMoves(boardPosition: BoardPosition, piece: Piece, colour: Colour, index: SquareIndex, posX: number, posY: number, moveList: Array<IMove>): void;
    generateRookLikeMoves(boardPosition: BoardPosition, piece: Piece, colour: Colour, index: SquareIndex, posX: number, posY: number, moveList: Array<IMove>): void;
    generateUsingOffsets(boardPosition: BoardPosition, piece: Piece, colour: Colour, index: SquareIndex, posX: number, posY: number, offsets: Array<Offsets>, moveList: Array<IMove>): void;
}
type Offsets = {
    x: number;
    y: number;
};
export declare const LineMoveGenerator: ILineMoveGenerator;
export {};
