Citation commands defined with biblatex's \DeclareCiteCommand always have the same argument structure
\<commandname>[<prenote>][<postnote>]{<keys>}
The argument structure is pretty much hard-coded into \DeclareCiteCommand and can not be changed.
Of course you don't have to use <prenote> and <postnote> as pre- and post-notes, so you could convert for example the <prenote> argument to a genitive marker (see below), but fundamentally, you can't change the argument structure.
There is one trick to work around this: In Optional argument within another optional argument in biblatex \cite Audrey shows a way to add a virtual argument in round brackets to the postnote argument.
We could do the same for the prenote. So that you can then use \textcite as
\textcite[(mid)pre][post]{key}
\textcite[(mid)][post]{key}
\textcite[pre][post]{key}
\textcite[post]{key}
\textcite{key}
The redefinition of the textcite bibmacro is the original (cf. apa.cbx, ll. 215-261) with the two lines
\csuse{cbx@prenote@genitivemarker}%
\global\undef\cbx@prenote@genitivemarker
added to print the genitive marker in the right place. We also add our new bibmacro split:prenote to \DeclareCiteCommand{\textcite}.
\documentclass{article}
\usepackage[style=apa]{biblatex}
\usepackage[colorlinks]{hyperref}
\makeatletter
\newrobustcmd*{\splitroundarg}[3]{\splitroundarg@i{#1}{#2}#3&}
\def\splitroundarg@i#1#2{%
\@ifnextchar(%)
{\splitroundarg@ii{#1}{#2}}
{\splitroundarg@ii{#1}{#2}()}}
\def\splitroundarg@ii#1#2(#3)#4&{%
#1{#3}%
#2{#4}}
\newrobustcmd*{\mkgenitivemarker}[1]{%
\ifblank{#1}
{\undef\cbx@prenote@genitivemarker}
{\def\cbx@prenote@genitivemarker{#1}}}
\newrobustcmd*{\mkrealprenote}[1]{%
\ifblank{#1}
{\undef\abx@field@prenote}
{\def\abx@field@prenote{#1}}}
\newcommand*{\splitgenmarkerrealprenote}{\splitroundarg{\mkgenitivemarker}{\mkrealprenote}}
\newbibmacro*{split:prenote}{%
\iffieldundef{prenote}
{}
{\usefield{\splitgenmarkerrealprenote}{prenote}}}
\DeclareCiteCommand{\textcite}
{\usebibmacro{cite:init}%
\usebibmacro{split:prenote}%
\usebibmacro{prenote}%
\toggletrue{apa:intcite}}
{\usebibmacro{citeindex}%
\usebibmacro{textcite}%
\usebibmacro{cite:post}%
\togglefalse{apa:intcite}}
{}
{\usebibmacro{textcite:postnote}}
\renewbibmacro*{textcite}{%
\iffieldequals{fullhash}{\cbx@lasthash}
% Compact cite - more than one thing for same author
{\setunit{\compcitedelim}%
\usebibmacro{cite:plabelyear+extradate}}
% New cite
{%
\ifbool{cbx:parens}
{\bibcloseparen\global\boolfalse{cbx:parens}}
{}%
\setunit{\compcitedelim}%
\ifnameundef{labelname}
% No author/editor
{\iffieldundef{shorthand}%
% Cite using title
{\usebibmacro{cite:noname}%
\setunit{\ifbool{cbx:np}%
{\printdelim{nameyeardelim}}%
{\global\booltrue{cbx:parens}\addspace\bibopenparen}}%
\usebibmacro{cite:plabelyear+extradate}}
% Cite using shorthand
{\usebibmacro{cite:shorthand}}}
% Normal cite with author/editor
% Normal full cite
{\ifnameundef{shortauthor}%
% Normal full cite
{\printnames{labelname}}
% Cite using short author
{\cbx@apa@ifnamesaved
{\printnames{shortauthor}}
{\ifnameundef{groupauthor}
{\printnames[labelname]{author}}
{\printnames[labelname]{groupauthor}}}}%
\csuse{cbx@prenote@genitivemarker}%
\global\undef\cbx@prenote@genitivemarker
% Year
\setunit{\ifbool{cbx:np}
{\printdelim{nameyeardelim}}
{\global\booltrue{cbx:parens}\addspace\bibopenparen}}%
% Put the shortauthor inside the year brackets if necessary
\ifnameundef{shortauthor}
{}
{\cbx@apa@ifnamesaved
{}
{\printnames{shortauthor}\setunit{\printdelim{nameyeardelim}}}}%
% Actual year printing
\usebibmacro{cite:plabelyear+extradate}%
% Save name hash for checks later
\savefield{fullhash}{\cbx@lasthash}}}}
\makeatother
\addbibresource{biblatex-examples.bib}
\begin{document}
\textcite[('s)][]{sigfridsson}
\textcite[('s)][380]{sigfridsson}
\textcite[cf.][380]{sigfridsson}
\textcite[380]{sigfridsson}
\textcite{sigfridsson}
\printbibliography
\end{document}

As mentioned above you could also repurpose the prenote argument for \textcite. But then you can't use normal prenotes any more.
\documentclass{article}
\usepackage[style=apa]{biblatex}
\usepackage[colorlinks]{hyperref}
\DeclareCiteCommand{\textcite}
{\usebibmacro{cite:init}%
\toggletrue{apa:intcite}}
{\usebibmacro{citeindex}%
\usebibmacro{textcite}%
\usebibmacro{cite:post}%
\togglefalse{apa:intcite}}
{}
{\usebibmacro{textcite:postnote}}
\makeatletter
\renewbibmacro*{textcite}{%
\iffieldequals{fullhash}{\cbx@lasthash}
% Compact cite - more than one thing for same author
{\setunit{\compcitedelim}%
\usebibmacro{cite:plabelyear+extradate}}
% New cite
{%
\ifbool{cbx:parens}
{\bibcloseparen\global\boolfalse{cbx:parens}}
{}%
\setunit{\compcitedelim}%
\ifnameundef{labelname}
% No author/editor
{\iffieldundef{shorthand}%
% Cite using title
{\usebibmacro{cite:noname}%
\setunit{\ifbool{cbx:np}%
{\printdelim{nameyeardelim}}%
{\global\booltrue{cbx:parens}\addspace\bibopenparen}}%
\usebibmacro{cite:plabelyear+extradate}}
% Cite using shorthand
{\usebibmacro{cite:shorthand}}}
% Normal cite with author/editor
% Normal full cite
{\ifnameundef{shortauthor}%
% Normal full cite
{\printnames{labelname}}
% Cite using short author
{\cbx@apa@ifnamesaved
{\printnames{shortauthor}}
{\ifnameundef{groupauthor}
{\printnames[labelname]{author}}
{\printnames[labelname]{groupauthor}}}}%
\ifnumequal{\value{citecount}}{1}
{\thefield{prenote}}
{}%
% Year
\setunit{\ifbool{cbx:np}
{\printdelim{nameyeardelim}}
{\global\booltrue{cbx:parens}\addspace\bibopenparen}}%
% Put the shortauthor inside the year brackets if necessary
\ifnameundef{shortauthor}
{}
{\cbx@apa@ifnamesaved
{}
{\printnames{shortauthor}\setunit{\printdelim{nameyeardelim}}}}%
% Actual year printing
\usebibmacro{cite:plabelyear+extradate}%
% Save name hash for checks later
\savefield{fullhash}{\cbx@lasthash}}}}
\makeatother
\addbibresource{biblatex-examples.bib}
\begin{document}
\textcite['s][]{sigfridsson}
\textcite['s][380]{sigfridsson}
\textcite[380]{sigfridsson}
\textcite{sigfridsson}
\printbibliography
\end{document}
Or you repurpose the postnote
\documentclass{article}
\usepackage[style=apa]{biblatex}
\usepackage[colorlinks]{hyperref}
\DeclareCiteCommand{\textcite}
{\usebibmacro{cite:init}%
\usebibmacro{prenote}%
\toggletrue{apa:intcite}}
{\usebibmacro{citeindex}%
\usebibmacro{textcite}%
\usebibmacro{cite:post}%
\togglefalse{apa:intcite}}
{}
{\ifbool{cbx:parens}
{\bibcloseparen\global\boolfalse{cbx:parens}}
{}}
\makeatletter
\renewbibmacro*{textcite}{%
\iffieldequals{fullhash}{\cbx@lasthash}
% Compact cite - more than one thing for same author
{\setunit{\compcitedelim}%
\usebibmacro{cite:plabelyear+extradate}}
% New cite
{%
\ifbool{cbx:parens}
{\bibcloseparen\global\boolfalse{cbx:parens}}
{}%
\setunit{\compcitedelim}%
\ifnameundef{labelname}
% No author/editor
{\iffieldundef{shorthand}%
% Cite using title
{\usebibmacro{cite:noname}%
\setunit{\ifbool{cbx:np}%
{\printdelim{nameyeardelim}}%
{\global\booltrue{cbx:parens}\addspace\bibopenparen}}%
\usebibmacro{cite:plabelyear+extradate}}
% Cite using shorthand
{\usebibmacro{cite:shorthand}}}
% Normal cite with author/editor
% Normal full cite
{\ifnameundef{shortauthor}%
% Normal full cite
{\printnames{labelname}}
% Cite using short author
{\cbx@apa@ifnamesaved
{\printnames{shortauthor}}
{\ifnameundef{groupauthor}
{\printnames[labelname]{author}}
{\printnames[labelname]{groupauthor}}}}%
\ifnumequal{\value{citecount}}{1}
{\thefield{postnote}}
{}%
% Year
\setunit{\ifbool{cbx:np}
{\printdelim{nameyeardelim}}
{\global\booltrue{cbx:parens}\addspace\bibopenparen}}%
% Put the shortauthor inside the year brackets if necessary
\ifnameundef{shortauthor}
{}
{\cbx@apa@ifnamesaved
{}
{\printnames{shortauthor}\setunit{\printdelim{nameyeardelim}}}}%
% Actual year printing
\usebibmacro{cite:plabelyear+extradate}%
% Save name hash for checks later
\savefield{fullhash}{\cbx@lasthash}}}}
\makeatother
\addbibresource{biblatex-examples.bib}
\begin{document}
\textcite['s]{sigfridsson}
\textcite[cf.]['s]{sigfridsson}
\textcite{sigfridsson}
\printbibliography
\end{document}
All of the above solutions should retain your editor's capabilities for cite key autocompletion. Autocompletion is not a LaTeX feature, it is a feature of your editor. Usually editors have hard-coded lists of citation commands, where they will offer cite key autocompletion.
\citeauthor[pre][]{bibid}'s (\citeyear[post]{bibid})is not sufficient? – Felix Emanuel Mar 10 '20 at 13:23