import type { SSRResult } from '../../../@types/astro.js'; import type { renderTemplate } from './astro/render-template.js'; import type { RenderInstruction } from './instruction.js'; import { HTMLString } from '../escape.js'; import { type RenderInstance } from './common.js'; type RenderTemplateResult = ReturnType; export type ComponentSlots = Record; export type ComponentSlotValue = (result: SSRResult) => RenderTemplateResult | Promise; declare const slotString: unique symbol; export declare class SlotString extends HTMLString { instructions: null | RenderInstruction[]; [slotString]: boolean; constructor(content: string, instructions: null | RenderInstruction[]); } export declare function isSlotString(str: string): str is any; export declare function renderSlot(result: SSRResult, slotted: ComponentSlotValue | RenderTemplateResult, fallback?: ComponentSlotValue | RenderTemplateResult): RenderInstance; export declare function renderSlotToString(result: SSRResult, slotted: ComponentSlotValue | RenderTemplateResult, fallback?: ComponentSlotValue | RenderTemplateResult): Promise; interface RenderSlotsResult { slotInstructions: null | RenderInstruction[]; children: Record; } export declare function renderSlots(result: SSRResult, slots?: ComponentSlots): Promise; export {};