UNPKG

marko

Version:

Optimized runtime for Marko templates.

24 lines (23 loc) 1.21 kB
import { type EncodedAccessor, type Scope, type Template } from "../common/types"; import { type Renderer, type SetupFn } from "./renderer"; import type { Signal } from "./signals"; interface LoadModule { _: [template: string, walks: string, setup: SetupFn]; } interface LoadSignal { _: Signal; } export interface LoadTrigger { <T>(load: () => Promise<T>): () => Promise<T>; } export declare const _load_template: (id: string, load: () => Promise<Renderer>) => Template & Renderer; export declare const _load_setup: (nodeAccessor: EncodedAccessor, childScopeAccessor: EncodedAccessor, load: () => Promise<LoadModule>) => (owner: Scope) => void; export declare const _load_signal: (load: () => Promise<LoadSignal>) => Signal; export declare function _load_visible_trigger(selector: string, options?: IntersectionObserverInit): LoadTrigger; export declare function _load_idle_trigger(options?: { timeout?: number; }): LoadTrigger; export declare function _load_event_trigger(event: string, selector: string): LoadTrigger; export declare function _load_media_trigger(query: string): LoadTrigger; export declare function _load_race_trigger(...triggers: LoadTrigger[]): LoadTrigger; export {};