import { IntegrationRenderer, type HtmlDocumentContribution, type RenderToResponseContext } from './integration-renderer.js'; import { getComponentRenderContext, type ForeignChildRuntime } from './foreign-child/component-render-context.js'; import type { EcoPagesAppConfig } from '../../types/internal-types.js'; import type { AssetProcessingService, ProcessedAsset } from '../../services/assets/asset-processing-service/index.js'; import type { ComponentRenderInput, ComponentRenderResult, EcoPagesElement, IntegrationRendererRenderOptions, EcoPageFile, RouteRendererBody, RouteRendererOptions, EcoComponent, HtmlTemplateProps } from '../../types/public-types.js'; import type { PagePackageResult } from '../../types/public-types.js'; export declare function createUnresolvedMarkerArtifact(nodeId: string, componentRef: string, propsRef: string): string; export declare function createMockIntegrationPlugin(plugin: { name: string; } & Record): EcoPagesAppConfig['integrations'][number]; export declare const testAppConfig: EcoPagesAppConfig; export declare const testAssetService: AssetProcessingService; /** * Concrete implementation with ed file loading for testing purposes. */ export declare class TestIntegrationRenderer extends IntegrationRenderer { name: string; ForeignChildRuntimeCreationCount: number; ForeignChildRenderCount: number; UseFailFastForeignChildRuntime: boolean; PageModule: EcoPageFile | null; HtmlTemplate: EcoComponent | null; RenderedBody: RouteRendererBody; RenderBodyFactory: ((context: ReturnType) => RouteRendererBody | Promise) | null; MockComponentRenderResult: ComponentRenderResult | null; ImportedFiles: string[]; HtmlContributions: HtmlDocumentContribution[]; render(_options: IntegrationRendererRenderOptions): Promise; renderComponent(_input: ComponentRenderInput): Promise; renderComponentWithForeignChildren(input: ComponentRenderInput): Promise; renderToResponse

(view: EcoComponent

, props: P, ctx: RenderToResponseContext): Promise; protected importPageFile(_file: string): Promise; protected getHtmlTemplate(): Promise>; protected resolveDependencies(_components: (EcoComponent | Partial)[]): Promise; testPrepareRenderOptions(options: RouteRendererOptions): Promise>; testShouldDelegateForeignChild(input: { currentIntegration: string; targetIntegration?: string; }): boolean; testHasForeignChildDescendants(component: EcoComponent): boolean; testGetHtmlTemplate(): Promise, any>>; testBaseGetHtmlTemplate(): Promise, any>>; testGetRendererBootstrapDependencies(partial?: boolean): ProcessedAsset[]; testFinalizeDocumentShellHtml(options: { html: string; partial?: boolean; htmlContributions?: HtmlDocumentContribution[]; }): Promise; testTransformRouteResponse(response: Response, htmlContributions?: HtmlDocumentContribution[], pagePackage?: PagePackageResult): Promise; appendTestProcessedDependencies(assets: ProcessedAsset[]): ProcessedAsset[]; setTestPagePackage(pagePackage: PagePackageResult): void; getTestPagePackage(): PagePackageResult | undefined; getTestProcessedDependencies(): ProcessedAsset[]; testRenderPartialViewResponse

(input: { view: EcoComponent

; props: P; ctx?: RenderToResponseContext; renderInline?: () => Promise; transformHtml?: (html: string) => string; }): Promise; testRenderViewWithDocumentShell

(input: { view: EcoComponent

; props: P; ctx?: RenderToResponseContext; layout?: EcoComponent; }): Promise; testRenderForeignSubtree(input: ComponentRenderInput): Promise; protected createForeignChildRuntime(options: { renderInput: ComponentRenderInput; rendererCache: Map>; }): ForeignChildRuntime; protected getHtmlDocumentContributions(_options?: { partial?: boolean; }): HtmlDocumentContribution[] | undefined; }