/** my-app-name */
export declare function toKebabCase(input: string): string;
/** myAppName */
export declare function toCamelCase(input: string): string;
/** MyAppName */
export declare function toPascalCase(input: string): string;
/** my_app_name */
export declare function toSnakeCase(input: string): string;
/** MY_APP_NAME */
export declare function toUpperSnakeCase(input: string): string;
export declare function first<T>(arr: T[]): T | undefined;
export declare function last<T>(arr: T[]): T | undefined;
/** Strip 'I18n' from `text` when `i18n` is true. */
export declare function replaceI18n(text: string, i18n: boolean): string;
/** Ternary expressed as a function: `ternary(condition, trueVal, falseVal)`. */
export declare function ternary<T>(condition: unknown, trueVal: T, falseVal: T): T;
/**
 * Prepend `spaces` columns of indentation to every non-empty line of `text`.
 *
 * Used by partials that include other partials whose output is emitted from
 * column 0 (the partial does not know its caller's nesting level). The caller
 * passes the rendered include through `indent()` to align it with the
 * surrounding HTML in the wrapper template.
 *
 * Empty lines are left untouched to avoid introducing trailing whitespace.
 */
export declare function indent(text: string, spaces: number): string;
