astro
Version:
Astro is a modern site builder with web best practices, performance, and DX front-of-mind.
21 lines (20 loc) • 1.34 kB
TypeScript
import { type HeadInstructionRenderState } from '../../../../core/head-propagation/policy.js';
import type { SSRResult } from '../../../../types/public/internal.js';
import type { AstroComponentFactory } from '../astro/factory.js';
/** Facade helper used by runtime adapters to read effective hint resolution. */
export declare function getPropagationHint(result: SSRResult, factory: AstroComponentFactory): import("../../../../types/public/internal.js").PropagationHint;
/**
* Registers an instance in the propagation set when its hint requires buffering.
*
* @example
* A runtime-created component with `propagation: 'self'` is registered so its
* styles can be collected before head flush.
*/
export declare function registerIfPropagating(result: SSRResult, factory: AstroComponentFactory, instance: {
init(result: SSRResult): unknown | Promise<unknown>;
}): void;
export declare function bufferPropagatedHead(result: SSRResult): Promise<void>;
/** Facade helper for render instruction gating (`head` vs `maybe-head`). */
export declare function shouldRenderInstruction(type: 'head' | 'maybe-head', state: HeadInstructionRenderState): boolean;
/** Projects `SSRResult` into the minimal state needed by instruction policy. */
export declare function getInstructionRenderState(result: SSRResult): HeadInstructionRenderState;