Redeclare theme’s function in a plugin

You can only declare a function once.

My reccomendation is that you put the functions in the plugin, then use filters to override in the theme, e.g.

In the plugins:

function my_awesome_function() {
    return apply_filters( 'my_awesome_function', "plugin" );
}

In your theme:

add_filter( 'my_awesome_function', function( $value ) {
    return "theme";
} );

Now every call to my_awesome_function(); will return “theme” not “plugin”