import { InjectionToken, TemplateRef } from '@angular/core'; import { Observable } from 'rxjs'; import { NgxPermissionsConfigurationStore } from '../store/configuration.store'; import * as i0 from "@angular/core"; export type StrategyFunction = (templateRef?: TemplateRef) => void; export interface Strategy { [key: string]: StrategyFunction; } export declare const USE_CONFIGURATION_STORE: InjectionToken; export declare class NgxPermissionsConfigurationService { private isolate; private configurationStore; private strategiesSource; strategies$: Observable; onAuthorisedDefaultStrategy: string | undefined; onUnAuthorisedDefaultStrategy: string | undefined; constructor(isolate: boolean, configurationStore: NgxPermissionsConfigurationStore); setDefaultOnAuthorizedStrategy(name: string | 'remove' | 'show'): void; setDefaultOnUnauthorizedStrategy(name: string | 'remove' | 'show'): void; addPermissionStrategy(key: string, func: StrategyFunction): void; getStrategy(key: string): StrategyFunction; getAllStrategies(): Strategy; private getDefinedStrategy; private isPredefinedStrategy; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }