import { type Constructable } from '@aurelia/kernel'; import { IExpressionParser } from '@aurelia/expression-parser'; import { IObserverLocator } from '@aurelia/runtime'; import { IEventModifier } from './binding/listener-binding'; import { CustomElementDefinition } from './resources/custom-element'; import { CustomAttributeDefinition } from './resources/custom-attribute'; import { INode } from './dom.node'; import { ICustomElementController, IController } from './templating/controller'; import { IPlatform } from './platform'; import { IRendering } from './templating/rendering'; import type { IHydratableController } from './templating/controller'; import { type ISSRScopeChild } from './templating/ssr'; import { type AttributeBindingInstruction, type HydrateAttributeInstruction, type HydrateElementInstruction, type HydrateLetElementInstruction, type HydrateTemplateController, IInstruction, ITemplateCompiler, type InterpolationInstruction, type IteratorBindingInstruction, type ListenerBindingInstruction, type PropertyBindingInstruction, type RefBindingInstruction, type SetAttributeInstruction, type SetClassAttributeInstruction, type SetPropertyInstruction, type SetStyleAttributeInstruction, type SpreadTransferedBindingInstruction, type SpreadValueBindingInstruction, type StylePropertyBindingInstruction, type TextBindingInstruction } from '@aurelia/template-compiler'; /** * An interface describing an instruction renderer * its target property will be used to match instruction types dynamically at render time */ export interface IRenderer { target: number; render( /** * The controller that is current invoking this renderer */ renderingCtrl: IHydratableController, target: unknown, instruction: IInstruction, platform: IPlatform, exprParser: IExpressionParser, observerLocator: IObserverLocator, /** * SSR manifest scope entry for child-creating instructions (TCs, CEs). * Passed by Rendering.render() based on tree position. */ ssrScope?: ISSRScopeChild): void; } export declare const IRenderer: import("@aurelia/kernel").InterfaceSymbol; export declare function renderer>(target: C, context: ClassDecoratorContext): C; export declare const SetPropertyRenderer: { new (): { readonly target: 10; render(renderingCtrl: IHydratableController, target: IController, instruction: SetPropertyInstruction): void; }; }; export declare const CustomElementRenderer: { new (): { /** @internal */ readonly _rendering: IRendering; readonly target: 0; render(renderingCtrl: IHydratableController, target: HTMLElement, instruction: HydrateElementInstruction, CustomElementDefinition>, platform: IPlatform, exprParser: IExpressionParser, observerLocator: IObserverLocator, ssrScope?: ISSRScopeChild): void; }; }; export declare const CustomAttributeRenderer: { new (): { /** @internal */ readonly _rendering: IRendering; readonly target: 1; render(renderingCtrl: IHydratableController, target: HTMLElement, instruction: HydrateAttributeInstruction, platform: IPlatform, exprParser: IExpressionParser, observerLocator: IObserverLocator): void; }; }; export declare const TemplateControllerRenderer: { new (): { /** @internal */ readonly _rendering: IRendering; readonly target: 2; render(renderingCtrl: IHydratableController, target: HTMLElement, instruction: HydrateTemplateController, platform: IPlatform, exprParser: IExpressionParser, observerLocator: IObserverLocator, ssrScope?: ISSRScopeChild): void; }; }; export declare const LetElementRenderer: { new (): { readonly target: 3; render(renderingCtrl: IHydratableController, target: Node & ChildNode, instruction: HydrateLetElementInstruction, platform: IPlatform, exprParser: IExpressionParser, observerLocator: IObserverLocator): void; }; }; export declare const RefBindingRenderer: { new (): { readonly target: 14; render(renderingCtrl: IHydratableController, target: INode, instruction: RefBindingInstruction, platform: IPlatform, exprParser: IExpressionParser, observerLocator: IObserverLocator): void; }; }; export declare const InterpolationBindingRenderer: { new (): { readonly target: 11; render(renderingCtrl: IHydratableController, target: IController | HTMLElement, instruction: InterpolationInstruction, platform: IPlatform, exprParser: IExpressionParser, observerLocator: IObserverLocator): void; }; }; export declare const PropertyBindingRenderer: { new (): { readonly target: 12; render(renderingCtrl: IHydratableController, target: IController, instruction: PropertyBindingInstruction, platform: IPlatform, exprParser: IExpressionParser, observerLocator: IObserverLocator): void; }; }; export declare const IteratorBindingRenderer: { new (): { readonly target: 15; render(renderingCtrl: IHydratableController, target: IController, instruction: IteratorBindingInstruction, platform: IPlatform, exprParser: IExpressionParser, observerLocator: IObserverLocator): void; }; }; export declare const TextBindingRenderer: { new (): { readonly target: 30; render(renderingCtrl: IHydratableController, target: ChildNode, instruction: TextBindingInstruction, platform: IPlatform, exprParser: IExpressionParser, observerLocator: IObserverLocator): void; }; }; /** * An interface describing configuration for listener bindings */ export interface IListenerBindingOptions { /** * Indicate whether listener should by default call preventDefault on all the events */ prevent: boolean; /** * The error handler for listener bindings, by default, it will dispatch an event `au-event-error` on the window object * and if the event is not prevented, it will throw the errors caught by the listener bindings */ onError: (event: Event, error: unknown) => void; } export declare const IListenerBindingOptions: import("@aurelia/kernel").InterfaceSymbol; export declare const ListenerBindingRenderer: { new (): { readonly target: 31; /** @internal */ readonly _modifierHandler: IEventModifier; /** @internal */ readonly _defaultOptions: IListenerBindingOptions; render(renderingCtrl: IHydratableController, target: HTMLElement, instruction: ListenerBindingInstruction, platform: IPlatform, exprParser: IExpressionParser): void; }; }; export declare const SetAttributeRenderer: { new (): { readonly target: 34; render(_: IHydratableController, target: HTMLElement, instruction: SetAttributeInstruction): void; }; }; export declare const SetClassAttributeRenderer: { new (): { readonly target: 35; render(_: IHydratableController, target: HTMLElement, instruction: SetClassAttributeInstruction): void; }; }; export declare const SetStyleAttributeRenderer: { new (): { readonly target: 36; render(_: IHydratableController, target: HTMLElement, instruction: SetStyleAttributeInstruction): void; }; }; export declare const StylePropertyBindingRenderer: { new (): { readonly target: 33; render(renderingCtrl: IHydratableController, target: HTMLElement, instruction: StylePropertyBindingInstruction, platform: IPlatform, exprParser: IExpressionParser, observerLocator: IObserverLocator): void; }; }; export declare const AttributeBindingRenderer: { new (): { readonly target: 32; render(renderingCtrl: IHydratableController, target: HTMLElement, instruction: AttributeBindingInstruction, platform: IPlatform, exprParser: IExpressionParser, observerLocator: IObserverLocator): void; }; }; export declare const SpreadRenderer: { new (): { /** @internal */ readonly _compiler: ITemplateCompiler; /** @internal */ readonly _rendering: IRendering; readonly target: 50; render(renderingCtrl: IHydratableController, target: HTMLElement, instruction: SpreadTransferedBindingInstruction, platform: IPlatform, exprParser: IExpressionParser, observerLocator: IObserverLocator): void; }; }; export declare const SpreadValueRenderer: { new (): { readonly target: 52; render(renderingCtrl: IHydratableController, target: ICustomElementController, instruction: SpreadValueBindingInstruction, platform: IPlatform, exprParser: IExpressionParser, observerLocator: IObserverLocator): void; }; }; //# sourceMappingURL=renderer.d.ts.map