import { GeneratorConfig } from '../config/parser';
export interface PureModelNamingResolved {
    filePattern: string;
    schemaSuffix: string;
    typeSuffix: string;
    exportNamePattern: string;
    legacyAliases: boolean;
    preset?: string;
}
export declare function resolvePureModelNaming(config: GeneratorConfig | null | undefined): PureModelNamingResolved;
export declare function applyPattern(pattern: string, modelName: string, schemaSuffix: string, typeSuffix: string): string;
export declare function applyUniversalPattern(pattern: string, tokens: Record<string, string>): string;
export interface EnumNamingResolved {
    filePattern: string;
    exportNamePattern: string;
}
export declare function resolveEnumNaming(config: GeneratorConfig | null | undefined): EnumNamingResolved;
export interface InputNamingResolved {
    filePattern: string;
    exportNamePattern: string;
}
export declare function resolveInputNaming(config: GeneratorConfig | null | undefined): InputNamingResolved;
export interface SchemaNamingResolved {
    filePattern: string;
    exportNamePattern: string;
}
export declare function resolveSchemaNaming(config: GeneratorConfig | null | undefined): SchemaNamingResolved;
export declare function generateFileName(pattern: string, modelName: string, operation?: string, inputType?: string, enumName?: string): string;
export declare function generateExportName(pattern: string, modelName: string, operation?: string, inputType?: string, enumName?: string): string;
/**
 * Reverse-derive a PascalCase model name from an export symbol and pattern.
 *
 * Supports patterns containing one of {Model}, {model}, {camel}, or {kebab} and
 * accounts for dynamic suffix tokens {SchemaSuffix}/{TypeSuffix} when computing
 * the static prefix/suffix surrounding the model token. Falls back to stripping
 * configured suffixes when a direct match is not possible.
 */
export declare function parseExportSymbol(symbol: string, pattern: string, schemaSuffix?: string, typeSuffix?: string): string;
