/** * Port of TypeMapper.php — type mappings for PHP casts, rules, resources. */ type Rule = string | ['rule_in', string[]] | ['rule_unique_ignore', string, string]; /** Map Omnify property type to PHP cast. */ export declare function toCast(type: string, property?: Record): string | null; /** Map Omnify property type to PHP doc type. */ export declare function toPhpDocType(type: string, nullable?: boolean): string; /** * Generate validation rules for a property (Store request). * * @param fkRuleType - For ManyToOne associations, the validation rule type * matching the target schema's primary key ('integer' for Int/BigInt PKs, * 'uuid' for Uuid PKs, 'string' for Ulid/String PKs). Defaults to 'integer' * for backwards compatibility. Issue #36. */ export declare function toStoreRules(property: Record, tableName: string, fkRuleType?: 'integer' | 'uuid' | 'string'): Rule[]; /** Generate validation rules for a property (Update request). */ export declare function toUpdateRules(property: Record, tableName: string, modelRouteParam: string, fkRuleType?: 'integer' | 'uuid' | 'string'): Rule[]; /** Format validation rules as PHP code string. */ export declare function formatRules(rules: Rule[]): string; /** Resolve enum values from property definition. */ export declare function resolveEnumValues(property: Record): string[] | null; /** Check if a property type should be hidden by default. */ export declare function isHiddenByDefault(type: string): boolean; /** Check if a property needs a cast. */ export declare function needsCast(type: string): boolean; /** Get the resource output expression for a property. */ export declare function toResourceExpression(fieldName: string, type: string): string; /** Check if a rules array contains a Rule:: object. */ export declare function hasRuleObject(rules: Rule[]): boolean; export {};