/**
 * Runs run frontend model event hook scenario.
 * @param {keyof typeof scenarios} scenarioName - Scenario name.
 * @returns {Promise<Record<string, number>>} - Scenario result.
 */
export default function runFrontendModelEventHookScenario(scenarioName: keyof typeof scenarios): Promise<Record<string, number>>;
/**
 * FrontendModelResourceConfig type.
 */
export type FrontendModelResourceConfig = import("../frontend-models/base.js").FrontendModelResourceConfig;
/**
 * Defines this typedef.
 */
export type FrontendModelHookTestCreateUpdatePayload = {
    id: string;
    model: FrontendModelBase;
};
/**
 * Defines this typedef.
 */
export type FrontendModelHookTestDestroyPayload = {
    id: string;
};
/**
 * FakeSubscriptions type.
 */
export type FakeSubscriptions = {
    /**
     * - Create callbacks.
     */
    create: Set<(payload: FrontendModelHookTestCreateUpdatePayload) => void>;
    /**
     * - Destroy callbacks.
     */
    destroy: Set<(payload: FrontendModelHookTestDestroyPayload) => void>;
    /**
     * - Subscription options.
     */
    options: {
        create: import("../frontend-models/query.js").FrontendModelEventOptionsObject[];
        destroy: import("../frontend-models/query.js").FrontendModelEventOptionsObject[];
        update: import("../frontend-models/query.js").FrontendModelEventOptionsObject[];
    };
    /**
     * - Update callbacks.
     */
    update: Set<(payload: FrontendModelHookTestCreateUpdatePayload) => void>;
};
declare namespace scenarios {
    export { classLifecycleScenario as classLifecycle };
    export { debounceUnmountScenario as debounceUnmount };
    export { instanceLifecycleScenario as instanceLifecycle };
    export { projectionOptionsScenario as projectionOptions };
    export { resubscribeInstanceScenario as resubscribeInstance };
}
import FrontendModelBase from "../frontend-models/base.js";
/**
 * Runs class lifecycle scenario.
 * @returns {Promise<Record<string, number>>} - Scenario result.
 */
declare function classLifecycleScenario(): Promise<Record<string, number>>;
/**
 * Runs debounce unmount scenario.
 * @returns {Promise<Record<string, number>>} - Scenario result.
 */
declare function debounceUnmountScenario(): Promise<Record<string, number>>;
/**
 * Runs instance lifecycle scenario.
 * @returns {Promise<Record<string, number>>} - Scenario result.
 */
declare function instanceLifecycleScenario(): Promise<Record<string, number>>;
/**
 * Runs projection options scenario.
 * @returns {Promise<Record<string, number>>} - Scenario result.
 */
declare function projectionOptionsScenario(): Promise<Record<string, number>>;
/**
 * Runs resubscribe instance scenario.
 * @returns {Promise<Record<string, number>>} - Scenario result.
 */
declare function resubscribeInstanceScenario(): Promise<Record<string, number>>;
export {};
//# sourceMappingURL=browser-frontend-model-event-hook-scenarios.d.ts.map