import { Lens } from 'ramda';
import { Clergy, Cost, GameCommandConfigParams, GameState, PlayerColor, StateReducer, Tableau, TableauReducer } from '../types';
export declare const activeLens: (state?: GameState) => Lens<GameState | undefined, Tableau>;
export declare const withActivePlayer: (func: (player: Tableau) => Tableau | undefined) => StateReducer;
export declare const indexLens: (playerIndex: number) => Lens<GameState | undefined, Tableau>;
export declare const withPlayerIndex: (playerIndex: number) => (func: (player: Tableau) => Tableau | undefined) => StateReducer;
export declare const withEachPlayer: (func: (player: Tableau) => Tableau | undefined) => StateReducer;
export declare const clergyForColor: (config?: GameCommandConfigParams) => (color: PlayerColor) => Clergy[];
export declare const isPrior: (clergy: Clergy | undefined) => boolean;
export declare const isLayBrother: (clergy: Clergy | undefined) => boolean;
export declare const priors: (state: GameState | undefined) => Clergy[];
export declare const payCost: (cost: Cost) => TableauReducer;
export declare const getCost: (cost: Cost) => TableauReducer;
export declare const subtractCoins: (amount: number) => (player: Tableau | undefined) => Tableau | undefined;
export declare const getWonder: (amount?: number) => (player: Tableau | undefined) => Tableau | undefined;
