import { Injector } from '@angular/core';
import { Router } from '@angular/router';
import { Observable } from 'rxjs';
import { ExtensionPointWithoutStateForPlugins, GenericHookOptions, GenericHookType } from '../common/extension-hooks';
import { PluginsResolveService } from '../plugins/plugins-resolve.service';
import { ActionControlHook } from './data-grid.model';
import * as i0 from "@angular/core";
/**
 * You can either provide a single `ActionControlHook` as parameter:
 * ```typescript
 *  hookDataGridActionControls(...)
 * ```
 *
 * Or an array to directly register multiple:
 * ```typescript
 *  hookDataGridActionControls([...])
 * ```
 *
 * Or you provide a service that implements `ActionControlFactory`
 * ```typescript
 *  export class MyActionControlsFactory implements ActionControlFactory {...}
 *  ...
 *  hookDataGridActionControls(MyActionControlsFactory)
 * ```
 * @param config The `ActionControlHook`'s or `ExtensionFactory` to be provided.
 * @returns An `Provider` to be provided in your module.
 */
export declare function hookDataGridActionControls(action: GenericHookType<ActionControlHook>, options?: Partial<GenericHookOptions>): import("@angular/core").ValueProvider | import("@angular/core").ClassProvider | import("@angular/core").ExistingProvider;
/**
 * A service which defines device grid action options.
 */
export declare class ActionControlsExtensionService extends ExtensionPointWithoutStateForPlugins<ActionControlHook> {
    private router;
    constructor(rootInjector: Injector, plugins: PluginsResolveService, router: Router);
    protected setupItemsObservable(): Observable<ActionControlHook[]>;
    static ɵfac: i0.ɵɵFactoryDeclaration<ActionControlsExtensionService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ActionControlsExtensionService>;
}
//# sourceMappingURL=action-controls-extension.service.d.ts.map