/// import { Type } from '../../../facade/type'; import { DirectiveMetadata, ComponentMetadata } from '../metadata_directives'; import { DirectiveCtrl, NgmDirective } from '../constants'; export declare function directiveControllerFactory(caller: T, controller: U, $injector: ng.auto.IInjectorService, locals: { $scope: ng.IScope; $element: ng.IAugmentedJQuery; $attrs: ng.IAttributes; $transclude: ng.ITranscludeFunction; }, requireMap: StringMap, _ddo: NgmDirective, metadata: DirectiveMetadata | ComponentMetadata): T & U; /** * Angular 1 copy of how to require other directives * @param require * @param $element * @param directive * @returns {any|null} */ export declare function getRequiredControllers(require: string | string[] | { [key: string]: any; }, $element: ng.IAugmentedJQuery, directive: Type): Object | Object[] | { [ctrlName: string]: Object; }; export declare function getEmptyRequiredControllers(requireMap: { [key: string]: string; }): { [key: string]: void; }; export declare function createNewInjectablesToMatchLocalDi(originalInjectables: string[], requireMap: { [key: string]: string; }): string[];