import type { EventEmitter } from 'events'; import type { Api, Profile, LibraryProfile, LocationProfile } from '@remixproject/plugin-utils'; import { Plugin } from './abstract'; export declare type LibraryApi = { [method in P['methods'][number]]: T['methods'][method]; } & { events?: EventEmitter; } & { render?(): Element; }; declare type LibraryViewProfile = LocationProfile & LibraryProfile; export declare function isViewLibrary(profile: any): profile is LibraryViewProfile; export declare class LibraryPlugin extends Plugin { protected library: LibraryApi; profile: P; private isView; constructor(library: LibraryApi, profile: P); activate(): Promise; deactivate(): void; /** Call a method from this plugin */ protected callPluginMethod(key: string, payload: any[]): any; } export {};