/// <reference types="react-redux" />
import * as React from 'react';
import { growPopulation, consumeFood, addCitizen, updateFoodPerSecond } from 'actions';
import { Citizen } from '@clickopolis/core';
import './PopulationButton.scss';
export interface PopulationButtonProps {
    foodNeededForGrowth: number;
    population: number;
    food: any;
    growPopulation: Function;
    consumeFood: Function;
    addCitizen: addCitizen;
    updateFoodPerSecond: updateFoodPerSecond;
    farmer: Citizen;
}
export interface PopulationButtonState {
    isGrowthPossible: boolean;
}
export declare class PopulationButtonBase extends React.Component<PopulationButtonProps, PopulationButtonState> {
    constructor(props: PopulationButtonProps);
    private handleGrowth;
    private isGrowthPossible;
    componentWillMount(): void;
    componentWillReceiveProps(nextProps: PopulationButtonProps): void;
    render(): JSX.Element;
}
export declare const PopulationButton: React.ComponentClass<Pick<{
    population: any;
    food: any;
    foodNeededForGrowth: any;
    farmer: any;
} & {
    growPopulation: typeof growPopulation;
    consumeFood: typeof consumeFood;
    addCitizen: typeof addCitizen;
    updateFoodPerSecond: typeof updateFoodPerSecond;
}, never>, any> & {
    WrappedComponent: React.ComponentType<{
        population: any;
        food: any;
        foodNeededForGrowth: any;
        farmer: any;
    } & {
        growPopulation: typeof growPopulation;
        consumeFood: typeof consumeFood;
        addCitizen: typeof addCitizen;
        updateFoodPerSecond: typeof updateFoodPerSecond;
    }>;
};
