/** * Typings for Svelte components. * * Store typings were taken from 'svelte' npm package. */ export interface ComponentOptions { target: Element; anchor?: Element; props?: T; hydrate?: boolean; intro?: boolean; } export interface Component> { constructor(options: ComponentOptions): any; $set(props?: T): void; $on(event: string, callback: (event: CustomEvent) => void): () => void; $destroy(): void; } export interface ComponentCreator, T = Record> { new (options: ComponentOptions): C; }