///
///
///
///
///
///
///
///
///
///
///
///
///
import { ConfigOptionalArray, SPAServerConfig, SPAServerFolder } from './types';
import { Request, Response } from 'express';
export interface MappedFileInfo {
file: string;
path: string;
integrity?: string;
}
export declare type IndexMiddleware = (req: Request, res: Response, $: CheerioStatic) => void;
export declare function handleConfigOptionalArray(item: ConfigOptionalArray, defaultValue: T): T[];
export declare function handleConfigOptionalFunction(item: undefined | T | (() => T), defaultValue: T): T;
export declare function validateSPAServerConfig(config: SPAServerConfig): Promise;
export declare function parseEnv(value?: string): string | number | boolean | null | undefined;
export declare function snakeToCamelCase(what: string): string;
export declare function readFoldersFromEnv(envs: Record): SPAServerFolder[];
export declare function injectMetaTagsIntoHtml(html: string, ...tags: string[]): string;
export declare const generateIntegrityForBuffer: ((content: string | Buffer) => string) & import("lodash").MemoizedFunction;
export declare const generateIntegrityForFile: ((file: string) => Promise) & import("lodash").MemoizedFunction;
export declare function findFilesInFolderByPattern(root: string, pattern: string): Promise;
export declare function findFilesInFoldersByPattern(folders: SPAServerFolder[], pattern: string): Promise;
export declare function findFilesForConfigByPattern(config: SPAServerConfig, pattern: string): Promise;
export declare function startServerFromCli(configPath?: string): Promise;