import { type GetTextTranslation, type GetTextTranslations } from "gettext-parser"; export interface PotSourceString { readonly characters: number; readonly context?: string; readonly flags: readonly string[]; readonly id: string; readonly plural: boolean; } export interface PotAnalysis { readonly contextStrings: number; readonly filePath: string; readonly fuzzyStrings: number; readonly pluralStrings: number; readonly sourceCharacters: number; readonly strings: readonly PotSourceString[]; readonly totalStrings: number; } export interface PotEntry { readonly characters: number; readonly comments?: GetTextTranslation["comments"]; readonly context: string; readonly extractedComments?: string; readonly flags: readonly string[]; readonly key: string; readonly msgctxt?: string; readonly msgid: string; readonly msgidPlural?: string; readonly msgstr: readonly string[]; readonly obsolete: boolean; readonly plural: boolean; readonly references: readonly string[]; } export interface PotDocument { readonly analysis: PotAnalysis; readonly entries: readonly PotEntry[]; readonly parsed: GetTextTranslations; } export declare function entryNeedsTranslation(entry: PotEntry): boolean; export declare function getTranslatableEntries(entries: readonly PotEntry[], options?: { readonly forceTranslate?: boolean; }): readonly PotEntry[]; export declare function readPotDocument(filePath: string): Promise; export declare function analyzePotFile(filePath: string): Promise;