{"php":"8.4.25","version":"3.95.25","indent":"    ","lineEnding":"\n","rules":{"array_indentation":true,"array_syntax":{"syntax":"short"},"binary_operator_spaces":{"default":"single_space"},"blank_line_after_namespace":true,"blank_line_after_opening_tag":true,"blank_line_before_statement":{"statements":["continue","return"]},"blank_line_between_import_groups":true,"blank_lines_before_namespace":true,"braces_position":{"control_structures_opening_brace":"same_line","functions_opening_brace":"next_line_unless_newline_at_signature_end","anonymous_functions_opening_brace":"same_line","classes_opening_brace":"next_line_unless_newline_at_signature_end","anonymous_classes_opening_brace":"next_line_unless_newline_at_signature_end","allow_single_line_empty_anonymous_classes":false,"allow_single_line_anonymous_functions":false},"cast_spaces":true,"class_attributes_separation":{"elements":{"const":"one","method":"one","property":"one","trait_import":"none"}},"class_definition":{"multi_line_extends_each_single_line":true,"single_item_single_line":true,"single_line":true},"clean_namespace":true,"compact_nullable_type_declaration":true,"concat_space":{"spacing":"none"},"constant_case":{"case":"lower"},"control_structure_braces":true,"control_structure_continuation_position":{"position":"same_line"},"declare_equal_normalize":true,"declare_parentheses":true,"elseif":true,"encoding":true,"full_opening_tag":true,"fully_qualified_strict_types":{"import_symbols":true,"phpdoc_tags":["param","phpstan-param","phpstan-property","phpstan-property-read","phpstan-property-write","phpstan-return","phpstan-var","property","property-read","property-write","psalm-param","psalm-property","psalm-property-read","psalm-property-write","psalm-return","psalm-var","return","see","throws","var","extends","implements","use","phpstan-extends","phpstan-implements","phpstan-use","psalm-extends","psalm-implements","psalm-use","mixin","param-out","param-closure-this","phpstan-param-out","phpstan-assert","phpstan-assert-if-true","phpstan-assert-if-false","phpstan-self-out","phpstan-this-out","phpstan-require-extends","phpstan-require-implements"]},"function_declaration":true,"general_phpdoc_tag_rename":true,"heredoc_to_nowdoc":true,"include":true,"increment_style":{"style":"post"},"indentation_type":true,"integer_literal_case":true,"lambda_not_used_import":true,"line_ending":true,"linebreak_after_opening_tag":true,"list_syntax":true,"lowercase_cast":true,"lowercase_keywords":true,"lowercase_static_reference":true,"magic_constant_casing":true,"magic_method_casing":true,"method_argument_space":{"on_multiline":"ignore"},"method_chaining_indentation":true,"multiline_whitespace_before_semicolons":{"strategy":"no_multi_line"},"native_function_casing":true,"native_type_declaration_casing":true,"new_with_parentheses":{"named_class":false,"anonymous_class":false},"no_alias_functions":true,"no_alias_language_construct_call":true,"no_alternative_syntax":true,"no_binary_string":true,"no_blank_lines_after_class_opening":true,"no_blank_lines_after_phpdoc":true,"no_closing_tag":true,"no_empty_phpdoc":true,"no_empty_statement":true,"no_extra_blank_lines":{"tokens":["extra","throw","use"]},"no_leading_import_slash":true,"no_leading_namespace_whitespace":true,"no_mixed_echo_print":{"use":"echo"},"no_multiline_whitespace_around_double_arrow":true,"no_multiple_statements_per_line":true,"no_short_bool_cast":true,"no_singleline_whitespace_before_semicolons":true,"no_space_around_double_colon":true,"no_spaces_after_function_name":true,"no_spaces_around_offset":{"positions":["inside","outside"]},"no_superfluous_phpdoc_tags":{"allow_mixed":true,"allow_unused_params":true},"no_trailing_comma_in_singleline":true,"no_trailing_whitespace":true,"no_trailing_whitespace_in_comment":true,"no_unneeded_control_parentheses":{"statements":["break","clone","continue","echo_print","return","switch_case","yield"]},"no_unneeded_braces":true,"no_unneeded_import_alias":true,"no_unreachable_default_argument_value":true,"no_unset_cast":true,"no_unused_imports":true,"no_useless_return":true,"no_whitespace_before_comma_in_array":true,"no_whitespace_in_blank_line":true,"normalize_index_brace":true,"not_operator_with_successor_space":true,"nullable_type_declaration":true,"nullable_type_declaration_for_default_null_value":true,"object_operator_without_whitespace":true,"ordered_imports":{"sort_algorithm":"alpha","imports_order":["const","class","function"]},"ordered_interfaces":true,"ordered_traits":true,"php_unit_method_casing":{"case":"snake_case"},"php_unit_set_up_tear_down_visibility":true,"phpdoc_align":{"align":"left","spacing":{"param":2}},"phpdoc_indent":true,"phpdoc_inline_tag_normalizer":true,"phpdoc_no_access":true,"phpdoc_no_package":true,"phpdoc_no_useless_inheritdoc":true,"phpdoc_order":{"order":["param","return","throws"]},"phpdoc_scalar":true,"phpdoc_separation":{"groups":[["deprecated","link","see","since"],["author","copyright","license"],["category","package","subpackage"],["property","property-read","property-write"],["param","return"]]},"phpdoc_single_line_var_spacing":true,"phpdoc_tag_type":{"tags":{"inheritdoc":"inline"}},"phpdoc_trim":true,"phpdoc_types":true,"phpdoc_var_without_name":true,"return_type_declaration":{"space_before":"none"},"self_static_accessor":true,"short_scalar_cast":true,"single_blank_line_at_eof":true,"single_class_element_per_statement":{"elements":["const","property"]},"single_import_per_statement":true,"single_line_after_imports":true,"single_line_comment_spacing":true,"single_line_comment_style":{"comment_types":["hash"]},"single_line_empty_body":true,"single_quote":true,"single_space_around_construct":true,"space_after_semicolon":true,"spaces_inside_parentheses":true,"standardize_not_equals":true,"statement_indentation":true,"switch_case_semicolon_to_colon":true,"switch_case_space":true,"ternary_operator_spaces":true,"trailing_comma_in_multiline":{"elements":["arrays"]},"trim_array_spaces":true,"type_declaration_spaces":true,"types_spaces":true,"unary_operator_spaces":true,"modifier_keywords":{"elements":["method","property"]},"whitespace_after_comma_in_array":true,"yoda_style":{"always_move_variable":false,"equal":false,"identical":false,"less_and_greater":false}},"ruleCustomisationPolicyVersion":"null-policy","hashes":{"app\\Domain\\Billing\\Actions\\ApprovePayment.php":"a968895b7ae3bfad59bd12e81b48c6de","app\\Domain\\Billing\\Actions\\RecordPayment.php":"44191bdebf80770d133b693057c2d9e5","app\\Domain\\Billing\\Actions\\RejectPayment.php":"fae42126041679c7a85adc86651c080f","app\\Domain\\Billing\\Enums\\PaymentStatus.php":"01be2be8158af100140b3dcdcbd400a2","app\\Domain\\Billing\\Models\\Payment.php":"4ac75217927fd079cde9b6e56ffc6cd5","app\\Domain\\Billing\\Policies\\PaymentPolicy.php":"d4c6943fbf0a512b6993ada8e51a4404","app\\Filament\\Resources\\Payments\\Pages\\ListPayments.php":"e0de1f45496876df27dd1a13f1090584","app\\Filament\\Resources\\Payments\\Pages\\ViewPayment.php":"a90b78b4542d9c9923858a34e47897d3","app\\Filament\\Resources\\Payments\\PaymentResource.php":"e5590c15e94a82a81dcd8d41ee6871ff","app\\Filament\\Support\\EnumField.php":"7476efe9bdd3997e0f6c1dd956e6f437","app\\Filament\\Support\\MoneyField.php":"aff5c12537b3da67055aacdabc3e9dc2","app\\Http\\Livewire\\Portal\\CustomerDashboard.php":"dd8105e92f230fb8b041e0a5be010b0e","app\\Http\\Livewire\\Portal\\PaymentForm.php":"99bf28f972d3712916fc1e737d03f041","database\\migrations\\2026_09_15_000250_add_approval_to_payments_table.php":"4a2b859ae60849882c2b1d54137b5657","tests\\Feature\\Billing\\PaymentApprovalTest.php":"d7585b5278656318e46c83807918ff4b","tests\\Feature\\Portal\\PortalTest.php":"aa906b07d57be137a47e059979cbbf93"}}