import Service from '@ember/service'; import { Promise } from 'rsvp'; export interface Section { name: string; subsections: Subsection[]; } export interface Subsection { name: string; } export default class EmberFreestyleService extends Service { showLabels: boolean; showNotes: boolean; showCode: boolean; showApi: boolean; menu: Section[]; showMenu: boolean; allowRenderingAllSections: boolean; defaultTheme: string; section: null; subsection: null; focus: string | null; scrollSpySection: string | null; scrollSpySubsection: string | null; setScrollSpyActive(section: string | null, subsection: string | null): void; get notFocused(): boolean; shouldShowSection(sectionName: string): boolean; shouldShowSubsection(sectionName: string, subsectionName: string): boolean; hljsVersion: string; hljsPromise: Promise | null; hljsLanguagePromises: Record>; hljsUrl(): string; hljsThemeUrl(theme: string): string; hljsLanguageUrl(language: string): string; ensureHljs(): Promise; highlight(el: HTMLElement): void; ensureHljsTheme(theme: string): void; ensureHljsLanguage(language: string): Promise; registerSection(sectionName: string, subsectionName?: string): void; notifyMenuChanged: () => void; } declare module '@ember/service' { interface Registry { 'ember-freestyle': EmberFreestyleService; } }