import { AuthUserType, EnvironmentType, HostToolsType } from '@m4l/core';
import { Formatters, HostThemeType, LocaleType } from '@m4l/graphics';
import { DynamicMFStore } from '../../../WindowBase/contexts/DynamicMFParmsContext/store';
import { WindowToolsMF } from '../../../WindowBase/contexts';
import { MFObservabilityService, ModuleLoadFailureReason } from '../../../../../../../out-tsc/libs/observability/mf/index.d.ts';
import { BuildWebTelemetryContext, MFHostRuntime, MFType } from '../../types';
import { EmergeType } from '../../../areas/types';
/**
 * Inputs required to assemble and execute the MF render contract.
 * Entradas necesarias para ensamblar y ejecutar el contrato de render del MF.
 */
export interface UseMFRenderArgs {
    /**
     * Runtime namespace used to resolve the MF render globals.
     * Namespace de runtime usado para resolver los globales de render del MF.
     */
    prefix: string;
    /**
     * Local debug port forwarded into the MF runtime contract.
     * Puerto de depuración local reenviado al contrato de runtime del MF.
     */
    debugPort: number;
    /**
     * Host-owned dynamic store projected into the mounted MF.
     * Store dinámico propiedad del host proyectado en el MF montado.
     */
    dynamicMFStore?: DynamicMFStore;
    /**
     * Window tools API exposed to the MF instance.
     * API de herramientas de ventana expuesta a la instancia del MF.
     */
    windowTools: WindowToolsMF;
    /**
     * Window launch mode such as layout, popup, or modal.
     * Modo de apertura de ventana, como layout, popup o modal.
     */
    emergeType?: EmergeType;
    /**
     * Logged user context forwarded into the MF render contract.
     * Contexto del usuario autenticado reenviado al contrato de render del MF.
     */
    loggedUser?: AuthUserType;
    /**
     * Host environment flags projected into the MF runtime contract.
     * Flags del entorno del host proyectados al contrato de runtime del MF.
     */
    environment: EnvironmentType;
    /**
     * Host-owned cross-module tools exposed to the MF instance.
     * Herramientas transversales propiedad del host expuestas a la instancia del MF.
     */
    hostTools: HostToolsType;
    /**
     * Active locale passed into the MF render contract.
     * Locale activo pasado al contrato de render del MF.
     */
    currentLocale: LocaleType;
    /**
     * Current host theme payload projected into the MF instance.
     * Payload del tema actual del host proyectado a la instancia del MF.
     */
    hostTheme: HostThemeType;
    /**
     * Formatter bag forwarded into the MF render contract.
     * Conjunto de formatters reenviado al contrato de render del MF.
     */
    formatter: Formatters;
    /**
     * Optional host runtime capability bag exposed to the MF instance.
     * Contenedor opcional de capacidades de runtime del host expuesto a la instancia del MF.
     */
    resolvedHostRuntime?: MFHostRuntime;
    /**
     * Optional host-owned observability service exposed to the MF instance.
     * Servicio opcional de observabilidad propiedad del host expuesto a la instancia del MF.
     */
    resolvedObservability?: MFObservabilityService;
    /**
     * Shared runtime error reporter used when MF render execution throws.
     * Reportador compartido de errores de runtime usado cuando la ejecución de render del MF lanza una excepción.
     */
    reportLoaderError: (message: string, error?: unknown) => void;
    /**
     * Close the current swap telemetry attempt when render never completes successfully.
     * Cierra el intento actual de telemetría de intercambio cuando el render nunca termina correctamente.
     */
    emitSwapFailedTelemetry: (failureReason: ModuleLoadFailureReason, failureDetail?: string) => void;
    /**
     * Surface render terminal states through the lifecycle-owned loader UI.
     * Expone los estados terminales del render mediante la UI del loader propiedad del ciclo de vida.
     */
    setStatusLoader: (status: 'progress' | 'complete' | 'error') => void;
    /**
     * Builder for the shared web telemetry context attached to render events.
     * Constructor del contexto compartido de telemetría web adjunto a los eventos de render.
     */
    createTelemetryContext: BuildWebTelemetryContext;
}
/**
 * Return values exposed by the MF render hook.
 * Valores de retorno expuestos por el hook de render del MF.
 */
export interface UseMFRenderResult {
    /**
     * Execute the registered MF render global for the requested instance.
     * Ejecuta el global de render del MF registrado para la instancia solicitada.
     */
    renderMicroFrontend: (instance: MFType) => boolean;
}
//# sourceMappingURL=types.d.ts.map