import { Config } from '../chessground/config';
import { ChessPosition, Move } from './types';
import { Key, Piece as cgPiece } from '../chessground/types';
import { Piece as cjsPiece, Square } from 'chess.js';
export interface AnimationMove {
    from: Key;
    to: Key;
    /**
     * Optional piece - not necessary to provide
     * if the piece is already expected at the `from` square.
     */
    movingPiece?: cgPiece | cjsPiece;
    /**
     * Optional pieces to place before animating the move.
     */
    pieces?: [cgPiece | cjsPiece, Key][];
    duration?: number;
}
export interface ShowMoves {
    square: Square;
    /**
     * Optional piece - if not already present
     */
    piece?: cgPiece | cjsPiece;
    dests: Key[];
    duration?: number;
}
type __VLS_Props = {
    position: ChessPosition;
    config?: Config;
    showCoordinates?: boolean;
    animations?: AnimationMove[];
};
declare const _default: import('vue').DefineComponent<__VLS_Props, {
    playAnimations: (moves: AnimationMove[]) => Promise<void> | void;
    showMoves: (sm: ShowMoves) => Promise<void> | void;
    updateConfig: (config: Config) => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    move: (move: Move) => any;
    "position-change": (position: ChessPosition) => any;
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
    onMove?: ((move: Move) => any) | undefined;
    "onPosition-change"?: ((position: ChessPosition) => any) | undefined;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
    boardElement: HTMLDivElement;
}, HTMLDivElement>;
export default _default;
//# sourceMappingURL=ChessBoard.vue.d.ts.map