import { Configuration } from "./configuration";
import { CanBePromise, Event, Esm, Control } from "../typing";
export interface InitializeOptions {
    config: Configuration;
    esm: Esm;
}
export declare class Primno {
    private _eventEnv;
    private _contextInitializer?;
    private get contextInitializer();
    constructor(options: InitializeOptions);
    /**
     * Trigger an event.
     * @param event Event.
     * @param selectedControl Associated execution context.
     * @param primaryControl Optional primary control. Must be set to undefined if there are other args.
     * @param args Additional optional arguments that will be passed to the event handler.
     */
    triggerEvent(event: Event, selectedControl: Control, primaryControl: Control | undefined, ...args: unknown[]): CanBePromise<unknown>;
}
