import { RulesEngineAction, RulesEngineActionHandler } from '@o3r/core';
import * as i0 from '@angular/core';
import * as i1 from '@o3r/localization';

/** ActionUpdateLocalisationBlock  */
declare const RULES_ENGINE_LOCALISATION_UPDATE_ACTION_TYPE = "UPDATE_LOCALISATION";
/**
 * Content of action that updates localization
 */
interface ActionUpdateLocalisationBlock extends RulesEngineAction {
    actionType: typeof RULES_ENGINE_LOCALISATION_UPDATE_ACTION_TYPE;
    key: string;
    value: string;
}

/**
 * Service to handle async Localization actions
 */
declare class LocalizationRulesEngineActionHandler implements RulesEngineActionHandler<ActionUpdateLocalisationBlock> {
    private readonly store;
    /** @inheritdoc */
    readonly supportingActions: readonly ["UPDATE_LOCALISATION"];
    /** @inheritdoc */
    executeActions(actions: ActionUpdateLocalisationBlock[]): void | Promise<void>;
    static ɵfac: i0.ɵɵFactoryDeclaration<LocalizationRulesEngineActionHandler, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<LocalizationRulesEngineActionHandler>;
}

declare class LocalizationRulesEngineActionModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<LocalizationRulesEngineActionModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<LocalizationRulesEngineActionModule, never, [typeof i1.LocalizationOverrideStoreModule], never>;
    static ɵinj: i0.ɵɵInjectorDeclaration<LocalizationRulesEngineActionModule>;
}

export { LocalizationRulesEngineActionHandler, LocalizationRulesEngineActionModule, RULES_ENGINE_LOCALISATION_UPDATE_ACTION_TYPE };
export type { ActionUpdateLocalisationBlock };
//# sourceMappingURL=o3r-localization-rules-engine.d.ts.map
