import type { StringToLowerCase, WordsToLowerCaseWords, WordsToUpperCaseWords } from "./non-delimited-cases.js"; export declare const SNAKE_CASE = "snake_case"; export type SnakeCaseName = typeof SNAKE_CASE; export declare function isSnakeCaseName(caseName: string): caseName is SnakeCaseName; export declare const UPPER_SNAKE_CASE = "UPPER_SNAKE_CASE"; export declare const SCREAMING_SNAKE_CASE = "SCREAMING_SNAKE_CASE"; export declare const CONSTANT_CASE = "CONSTANT_CASE"; export type UpperSnakeCaseName = typeof UPPER_SNAKE_CASE | typeof SCREAMING_SNAKE_CASE | typeof CONSTANT_CASE; export declare function isUpperSnakeCaseName(caseName: string): caseName is UpperSnakeCaseName; export declare const KEBAB_CASE = "kebab-case"; export type KebabCaseName = typeof KEBAB_CASE; export declare function isKebabCaseName(caseName: string): caseName is KebabCaseName; export declare const UPPER_KEBAB_CASE = "UPPER-KEBAB-CASE"; export declare const SCREAMING_KEBAB_CASE = "SCREAMING-KEBAB-CASE"; export type UpperKebabCaseName = typeof UPPER_KEBAB_CASE | typeof SCREAMING_KEBAB_CASE; export declare function isUpperKebabCaseName(caseName: string): caseName is UpperKebabCaseName; export declare const SNAKE_CASE_DELIMITER = "_"; export type SnakeCaseDelimiter = typeof SNAKE_CASE_DELIMITER; export declare const KEBAB_CASE_DELIMITER = "-"; export type KebabCaseDelimiter = typeof KEBAB_CASE_DELIMITER; export type SymbolDelimitedCaseName = SnakeCaseName | KebabCaseName | UpperSnakeCaseName | UpperKebabCaseName; export declare function isSymbolDelimitedCaseName(caseName: string): caseName is SymbolDelimitedCaseName; export type IsSymbolDelimitedCase = String extends `${infer First extends string}${Delimiter}${infer Second extends string}` ? First extends "" ? false : Second extends "" ? false : true : false; export declare function isSymbolDelimitedCase(delimiter: Delimiter, string: String): IsSymbolDelimitedCase; type SymbolDelimitedCaseToWords = String extends `${infer Head extends string}${infer Tail extends string}` ? Head extends Delimiter ? SymbolDelimitedCaseToWords], ""> : SymbolDelimitedCaseToWords : Acc extends "" ? WordsAcc : [...WordsAcc, StringToLowerCase]; export type IsSnakeCase = IsSymbolDelimitedCase; export declare function isSnakeCase(string: String): IsSnakeCase; export type SnakeCaseToWords = SymbolDelimitedCaseToWords; export declare function snakeCaseToWords(string: String): SnakeCaseToWords; export type IsKebabCase = IsSymbolDelimitedCase; export declare function isKebabCase(string: String): IsKebabCase; export type KebabCaseToWords = SymbolDelimitedCaseToWords; export declare function kebabCaseToWords(string: String): KebabCaseToWords; export type UpperSnakeCaseToWords = SnakeCaseToWords; export declare function upperSnakeCaseToWords(string: String): UpperSnakeCaseToWords; export type UpperKebabCaseToWords = KebabCaseToWords; export declare function upperKebabCaseToWords(string: String): UpperKebabCaseToWords; type WordsToSymbolDelimitedCase = Words extends [infer Head extends string, ...infer Tail extends string[]] ? WordsToSymbolDelimitedCase : Acc; export type WordsToKebabCase = WordsToSymbolDelimitedCase>; export declare function wordsToKebabCase(words: Words): WordsToKebabCase; export type WordsToUpperKebabCase = WordsToSymbolDelimitedCase>; export declare function wordsToUpperKebabCase(words: Words): WordsToUpperKebabCase; export type WordsToSnakeCase = WordsToSymbolDelimitedCase>; export declare function wordsToSnakeCase(words: Words): WordsToSnakeCase; export type WordsToUpperSnakeCase = WordsToSymbolDelimitedCase>; export declare function wordsToUpperSnakeCase(words: Words): WordsToUpperSnakeCase; export {}; //# sourceMappingURL=symbol-delimited-cases.d.ts.map