export interface Cost { wood: number; stone: number; iron: number; food: number; } export interface BuildingSource { name: string; level: number; cost: (level: number) => Cost; behavior: { production?: Function; }; } export interface Building extends BuildingSource { id: number; }