Welcome to TeX.SE! The answer is, AFAIK, that there is no predefined way of doing this. However, you can cheat and use some of the options that come with the shadings library together with clip to do something along the lines you are suggesting.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shadings}
\begin{document}
\begin{tikzpicture}
\clip (-2,0) to[out=-90,in=180] (0,-2) to[out=0,in=-90] (2,0) to[out=-90-35,in=0] (0,-.7) to[out=180,in=-55] (-2,0);
\shade[inner color=yellow,outer color=green] (-3,0.8) arc(180:360:3);
\end{tikzpicture}
\end{document}

I could not resist adding something more fancy based on cfr's fancy radial shading. This also is meant to illustrate how one can customize shading.
\documentclass[border=3.14mm,x11names,dvipsnames,svgnames]{standalone}
\usepackage{tikz}
\usetikzlibrary{shadings}
\pgfdeclareradialshading[fradialcolour1,fradialcolour2,fradialcolour3]{fncyradial}{\pgfpoint{0}{0}}{% manual 1082-1083; later - shading is assumed to be 100bp diameter ??
color(0)=(fradialcolour1);
color(20bp)=(fradialcolour2);
color(40bp)=(fradialcolour3);
color(50bp)=(fradialcolour3)
}
\tikzset{%
fradial/.code={%
\tikzset{%
fancy radial/.cd,
shading=fncyradial,
#1
}
},
fancy radial/.search also={/tikz},
fancy radial/.cd,
fancy radial inner colour/.code={
\colorlet{fradialcolour1}{#1}
},
fancy radial mid colour/.code={
\colorlet{fradialcolour2}{#1}
},
fancy radial outer colour/.code={
\colorlet{fradialcolour3}{#1}
},
fancy radial inner colour=black,
fancy radial outer colour=black,
fancy radial mid colour=white,
inner color/.style={
fancy radial inner colour=#1,
},
outer color/.style={
fancy radial outer colour=#1,
},
mid color/.style={
fancy radial mid colour=#1,
},
}
\begin{document}
\begin{tikzpicture}
\clip (-2,0) to[out=-90,in=180] (0,-2) to[out=0,in=-90] (2,0) to[out=-90-35,in=0] (0,-.7) to[out=180,in=-55] (-2,0);
\shade[fradial={inner color=yellow, outer color=green, mid color=yellow!70!green}] (-3,1) arc(180:360:3);
\end{tikzpicture}
\end{document}

And, of course, there are all the advanced options described in section 109 of the pgfmanual. In principle you could try to use \pgfsetadditionalshadetransform but this is major effort and also won't lead to a universal solution. I'd also like to mention that it seems nontrivial to implement nonlinear transformations here (see here). If this problem was not there, one may be able to construct a general solution in a similar way as the bending library works, i.e. define a nonlinear transformation from a path.