/// import type { Express, Router } from 'express'; import { Database, LocalizationText, ResourceType, SRL } from 'sonolus-core'; import { Query, SearchInfo } from '..'; import { BackgroundDetailsHandler } from './routes/backgrounds/details'; import { BackgroundListHandler } from './routes/backgrounds/list'; import { EffectDetailsHandler } from './routes/effects/details'; import { EffectListHandler } from './routes/effects/list'; import { EngineDetailsHandler } from './routes/engines/details'; import { EngineListHandler } from './routes/engines/list'; import { ServerInfoHandler } from './routes/info'; import { LevelDetailsHandler } from './routes/levels/details'; import { LevelListHandler } from './routes/levels/list'; import { ParticleDetailsHandler } from './routes/particles/details'; import { ParticleListHandler } from './routes/particles/list'; import { SkinDetailsHandler } from './routes/skins/details'; import { SkinListHandler } from './routes/skins/list'; import { CheckSessionHandler, CreateSessionHandler, FindSessionHandler } from './session'; export type ItemsConfig = { search: SearchInfo; }; export declare const defaultItemsConfig: { readonly search: { readonly options: { readonly keywords: { readonly name: { readonly en: "#KEYWORDS"; }; readonly type: "text"; readonly placeholder: { readonly en: "#KEYWORDS"; }; }; }; }; }; export declare class Sonolus { private readonly authentication; private readonly sessionDuration; private readonly fallbackLocale; readonly sessionAddress: string; readonly router: Router; readonly levelsConfig: TLevels; readonly skinsConfig: TSkins; readonly backgroundsConfig: TBackgrounds; readonly effectsConfig: TEffects; readonly particlesConfig: TParticles; readonly enginesConfig: TEngines; readonly db: Database; createSessionHandler?: CreateSessionHandler; findSessionHandler?: FindSessionHandler; checkSessionHandler?: CheckSessionHandler; serverInfoHandler: ServerInfoHandler; levelListHandler: LevelListHandler>; skinListHandler: SkinListHandler>; backgroundListHandler: BackgroundListHandler>; effectListHandler: EffectListHandler>; particleListHandler: ParticleListHandler>; engineListHandler: EngineListHandler>; levelDetailsHandler: LevelDetailsHandler; skinDetailsHandler: SkinDetailsHandler; backgroundDetailsHandler: BackgroundDetailsHandler; effectDetailsHandler: EffectDetailsHandler; particleDetailsHandler: ParticleDetailsHandler; engineDetailsHandler: EngineDetailsHandler; constructor(app: Express, options?: Partial<{ basePath: string; authentication: boolean; sessionAddress: string; sessionDuration: number; fallbackLocale: string; mode: 'custom' | 'redirect' | 'spa'; spaRoot: string; levels: TLevels; skins: TSkins; backgrounds: TBackgrounds; effects: TEffects; particles: TParticles; engines: TEngines; }>); load(path: string): void; add(type: T, data: Buffer | string, hash?: string): SRL; localize(text: LocalizationText, locale: string): string; private postAuthenticate; private getAPI; private checkSession; }