import { MountBlock } from './types'; import { Block } from './injector'; import { Component } from './component'; export interface SlotContext { name: string; element: HTMLElement; isDefault: boolean; defaultContent: SlotBlock | null; } interface SlotBlock extends Block { content: MountBlock; } /** * Creates slot element */ export declare function createSlot(host: Component, name: string, cssScope?: string): HTMLElement; /** * Mounts slot context */ export declare function mountSlot(host: Component, name: string, defaultContent?: MountBlock): SlotContext; /** * Handles possible update of incoming data */ export declare function updateIncomingSlot(host: Component, name: string, updated: number): void; /** * Updates default slot content only if it was already rendered */ export declare function updateDefaultSlot(ctx: SlotContext): void; /** * Unmounts default content of given slot context */ export declare function unmountSlot(ctx: SlotContext): void; export declare function notifySlotUpdate(host: Component, ctx: SlotContext): void; export {};