import { Document, DocumentField, Logger } from '@stackbit/types'; export declare const momentDateToken = "date"; export declare function sanitizeSlug(slug: string): string; /** * Extract token names from file path pattern. * * extractTokensFromString('pages/{slug}.md') * => ['slug'] * * By default, the token produced by moment_format() is "date" * extractTokensFromString('pages/blog/{moment_format("YYYY-MM-DD")}-{slug}.md') * => ['date', 'slug'] * * moment_format() can also receive two arguments, in this case, the first * argument specifies the name of the token. This argument should not be quoted. * extractTokensFromString('pages/blog/{moment_format(date, "YYYY-MM-DD")}-{slug}.md') * => ['date', 'slug'] * * @param input */ export declare function extractTokensFromString(input: string): string[]; /** * Interpolates url or file path pattern from data. * If token does not exist in data returns original token. * * @example * interpolateFileName('posts/{slug}', { slug: 'hello' }) * => 'posts/hello' * interpolateFileName('_posts/{moment_format("YYYY-MM-DD")}-{slug}.md', { slug: 'hello' }) * => '_posts/2020-11-16-hello.md' * * @param {string} pathTemplate * @param {Object} data * @return {string} */ export declare function interpolatePath(pathTemplate: string, data: Record): string; export declare function getFileDates(filePath: string): Promise<{ createdAt: string; updatedAt: string; }>; export declare function getFileData(filePath: string): Promise; export declare function saveFileData(filePath: string, data: any): Promise; export declare function saveBase64Data(filePath: string, data: string): Promise; export declare function saveFromUrl(filePath: string, url: string): Promise; export declare function processMarkdownImagePaths(markdown: string, handler: (imagePath: string) => string): string; /** * Extract tokens and their values from filePath based on the filePathPattern. * * @example * extractTokensAndValuesFromFilePath( * '_posts/2020-09-20-hello.md', * '_posts/{moment_format("YYYY-MM-DD")}-{slug}.md' * ) => { date: '2020-09-20', slug: 'hello' } * * @param {string} filePath * @param {string} filePathPattern * @return {Object} Object with extracted tokens and their values */ export declare function extractTokensAndValuesFromFilePath(filePath: string, filePathPattern: string): Record; type ForEachFieldHandler = (field: DocumentField, fieldPath: (string | number)[]) => Promise; export declare function forEachFieldInDocument(document: Document, handler: ForEachFieldHandler): Promise; export declare function forEachFieldInFields(documentFields: Record, fieldPath: (string | number)[], handler: ForEachFieldHandler): Promise; export declare function readFilesFromDirectory(directoryPath: string, logger: Logger, handler: (relFilePath: string, fullFilePath: string, data: any) => Promise): Promise; export {}; //# sourceMappingURL=utils.d.ts.map