/// <reference types="react-redux" />
import * as React from 'react';
import { Resource, Flags } from '@clickopolis/core';
import { growFood, createProduction, turnOnFlag, addNotification } from 'actions';
import './ResourcesScreen.scss';
export interface ResourcesScreenProps {
    food?: Resource;
    growFood?: growFood;
    production?: Resource;
    createProduction?: createProduction;
    flags?: Flags;
    turnOnFlag: turnOnFlag;
    addNotification: addNotification;
}
export declare type XYCoordsWithOpacity = {
    x: number;
    y: number;
    c: string;
    o: number;
};
export interface ResourcesScreenState {
    growFoodPlusElementCoords: XYCoordsWithOpacity[];
    growProdPlusElementCoords: XYCoordsWithOpacity[];
    [x: string]: XYCoordsWithOpacity[];
}
export declare class ResourcesScreenBase extends React.Component<ResourcesScreenProps, ResourcesScreenState> {
    private intervalId;
    constructor(props: ResourcesScreenProps);
    componentDidMount(): void;
    componentWillUnmount(): void;
    timer: () => void;
    determinePreviousCoords(timer: boolean, property: 'growFoodPlusElementCoords' | 'growProdPlusElementCoords'): {
        x: number;
        o: number;
        y: number;
        c: string;
    }[];
    growFood: (_: any) => void;
    createProduction: (_: any) => void;
    addPlusElement({ resourceType, gotRandomBonus }: {
        resourceType: string;
        gotRandomBonus: boolean;
    }): void;
    render(): JSX.Element;
}
export declare const ResourcesScreen: React.ComponentClass<Pick<{
    food: any;
    production: any;
    flags: any;
} & {
    growFood: typeof growFood;
    createProduction: typeof createProduction;
    turnOnFlag: (target: string) => {
        type: "TURN_ON_FLAG";
        target: string;
    };
    addNotification: typeof addNotification;
}, never>, any> & {
    WrappedComponent: React.ComponentType<{
        food: any;
        production: any;
        flags: any;
    } & {
        growFood: typeof growFood;
        createProduction: typeof createProduction;
        turnOnFlag: (target: string) => {
            type: "TURN_ON_FLAG";
            target: string;
        };
        addNotification: typeof addNotification;
    }>;
};
