import type { LaraClient } from "./net/lara"; import type { MultiPartFile } from "./net/lara/client"; export interface Glossary { readonly id: string; readonly name: string; readonly ownerId: string; readonly createdAt: Date; readonly updatedAt: Date; readonly isPersonal: boolean; } export interface GlossaryImport { readonly id: string; readonly begin: number; readonly end: number; readonly channel: number; readonly size: number; readonly progress: number; } export interface GlossaryCounts { unidirectional?: Record; multidirectional?: number; } export type GlossaryFileFormat = "csv/table-uni" | "csv/table-multi"; export type GlossaryImportCallback = (glossaryImport: GlossaryImport) => void; export declare class Glossaries { private readonly client; private readonly pollingInterval; constructor(client: LaraClient); list(): Promise; create(name: string): Promise; get(id: string): Promise; delete(id: string): Promise; update(id: string, name: string): Promise; importCsv(id: string, csv: MultiPartFile, gzip?: boolean, callbackUrl?: string): Promise; importCsv(id: string, csv: MultiPartFile, contentType: GlossaryFileFormat, gzip?: boolean, callbackUrl?: string): Promise; getImportStatus(id: string): Promise; waitForImport(gImport: GlossaryImport, updateCallback?: GlossaryImportCallback, maxWaitTime?: number): Promise; counts(id: string): Promise; export(id: string, contentType: GlossaryFileFormat, source?: string): Promise; exportAsync(id: string, callbackUrl: string, contentType: GlossaryFileFormat, source?: string): Promise<{ jobId: string; }>; addOrReplaceEntry(id: string, terms: { language: string; value: string; }[], guid?: string): Promise; deleteEntry(id: string, term?: { language: string; value: string; }, guid?: string): Promise; }