type TEstimateReadingTimeReturns = {
    minutes: number;
    words: number;
};
export declare const estimateReadingTime: (text: string, wordsPerMinute?: number) => TEstimateReadingTimeReturns;
export type PackageInfo = {
    grading: string;
    difficulty: string;
    duration: number;
    description: {
        us: string;
    };
    title: {
        us: string;
    };
};
type TFKGLResult = {
    text: string;
    fkgl: number;
};
export declare function checkReadability(markdown: string, wordsPerMinute?: number, maxMinutes?: number): {
    newMarkdown: string;
    exceedsThreshold: boolean;
    minutes: number;
    body: string;
    fkglResult: TFKGLResult;
};
export declare const slugify: (text: string) => string;
export declare const getExInfo: (title: string) => {
    exNumber: string;
    kind: string;
    description: string;
    exTitle: string;
};
export declare function extractImagesFromMarkdown(markdown: string): {
    alt: string;
    url: string;
}[];
export declare function getFilenameFromUrl(url: string): string;
export declare const makePackageInfo: (choices: any) => {
    grading: any;
    difficulty: string;
    duration: number;
    description: {
        us: any;
    };
    title: {
        us: any;
    };
    slug: any;
    telemetry: {
        batch: string;
    };
};
export declare function estimateDuration(listOfSteps: string[]): number;
export declare function createFileOnDesktop(fileName: string, content: string): Promise<void>;
export declare function getDesktopFile(fileName: string): string;
export declare function extractTextFromMarkdown(mdContent: string): string;
export declare const saveTranslatedReadme: (exercise: string, languageCode: string, readme: string) => Promise<void>;
/**
 * Extracts paragraphs from a Markdown string.
 * @param markdownText The input Markdown string.
 * @returns An array of paragraph contents.
 */
export declare function extractParagraphs(markdownText: string): string[];
/**
 * Splits a paragraph into words and separates each word into syllables.
 * @param paragraph The input paragraph.
 * @returns An array of words, each split into syllables.
 */
export declare function splitIntoSyllables(paragraph: string): string[];
/**
 * Splits a word into its syllables using a basic estimation.
 * @param word The word to split.
 * @returns An array of syllables.
 */
export declare function splitWordIntoSyllables(word: string): string[];
/**
 * Extracts words from a given paragraph.
 * @param paragraph The input text.
 * @returns An array of words.
 */
export declare function extractWords(paragraph: string): string[];
/**
 * Calculates the Flesch-Kincaid Grade Level (FKGL) for a given text.
 * @param text The input paragraph.
 * @returns The FKGL score.
 */
export declare function fleschKincaidGrade(text: string): TFKGLResult;
/**
 * Counts the number of sentences in a given text.
 * @param text The input paragraph.
 * @returns The total number of sentences.
 */
export declare function countSentences(text: string): number;
export declare function howManyDifficultParagraphs(paragraphs: TFKGLResult[], maxFKGL: number): number;
export declare const appendContentIndex: () => Promise<string | null>;
export declare const appendAIRules: () => Promise<string | null>;
export declare const getReadmeExtension: (language: string) => string;
export {};
