Ну тоесть на уровне компиляции это проверить никак не возможно? Вот в шарпе там делегаты описываются со всеми параметрами и если что-то не совпадает в вызове - сразу ошибка еще на этапе компиляции
что приходит тут на ум - это понасоздавать классов - хранителей функций и параметров, типа Function_Int_String_String его параметры забивать в конструкторе. И тогда function

Код AS3:
step1( onSuccess:Function_Int_String_String,onFailed:Function_Boolean):void;
Но это настолько через одно место что нет слов. Кроме того так надо будет постоянно создавать новые классы если надо будет передать какойто класс в такую цункцию, или ппросто новую комбинацию.