UNPKG

marko

Version:

Optimized runtime for Marko templates.

24 lines (23 loc) 1.2 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 function _load_template(id: string, load: () => Promise<Renderer>): Template & Renderer; export declare function _load_setup(nodeAccessor: EncodedAccessor, childScopeAccessor: EncodedAccessor, load: () => Promise<LoadModule>): (owner: Scope) => void; export declare function _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 {};