import { Provider, InjectionToken } from '@angular/core';
import { NgDocTypeControl, NgDocTypeControlProviderOptions, NgDocProvidedTypeControl } from '@ng-doc/app/interfaces';
import { Constructor } from '@ng-doc/core/types';

/**
 *
 * @param type
 * @param control
 * @param options
 */
declare function provideTypeControl(type: string, control: Constructor<NgDocTypeControl>, options?: NgDocTypeControlProviderOptions): Provider;
/**
 * Returns token for type control based on provided type
 * @param type - type for searched control (e.g. `string`)
 */
declare function getTokenForType(type: string): InjectionToken<NgDocProvidedTypeControl> | undefined;

export { getTokenForType, provideTypeControl };
