import { Genome, IEvaluation, Organism } from '../../index';
import { ISumAgentState } from './interfaces/sum-agent-state';
import { ISumData } from './interfaces/sum-data';
import { ISumEnvState } from './interfaces/sum-env-state';
import { ISumGenomeOptions } from './interfaces/sum-genome-options';
import { ISumOrganismOptions } from './interfaces/sum-organism-options';
import { ISumPopOptions } from './interfaces/sum-pop-options';
import { IAgentUpdate, IInteraction, IStateUpdate } from 'enviro-rx';
export declare class SumOrganism extends Organism<ISumGenomeOptions, ISumPopOptions, ISumOrganismOptions, ISumData, number[], ISumAgentState, ISumEnvState> {
    createPhenotype(genome: Genome<ISumGenomeOptions>): number[];
    interact(state: IStateUpdate<ISumEnvState>): IAgentUpdate<ISumEnvState>;
    observe(interaction: IInteraction<ISumEnvState, ISumEnvState>): ISumData;
    evaluate(data: ISumData[], genotype: Genome<ISumGenomeOptions>, phenotype: number[]): IEvaluation<ISumGenomeOptions, ISumData, number[]>;
}
