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

/** ActionUpdateAssetBlock  */
declare const RULES_ENGINE_ASSET_UPDATE_ACTION_TYPE = "UPDATE_ASSET";
/**
 * Content of action that updates asset
 */
interface ActionUpdateAssetBlock extends RulesEngineAction {
    actionType: typeof RULES_ENGINE_ASSET_UPDATE_ACTION_TYPE;
    asset: string;
    value: string;
}

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

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

export { AssetRulesEngineActionHandler, AssetRulesEngineActionModule, RULES_ENGINE_ASSET_UPDATE_ACTION_TYPE };
export type { ActionUpdateAssetBlock };
//# sourceMappingURL=o3r-dynamic-content-rules-engine.d.ts.map
