// Type definitions for TypeScript-Services // Project: https://www.npmjs.org/package/typescript-services // Definitions by: Basarat Ali Syed // Definitions: https://github.com/borisyankov/DefinitelyTyped declare module TypeScript { var DiagnosticCode: { error_TS_0_1: string; warning_TS_0_1: string; Unrecognized_escape_sequence: string; Unexpected_character_0: string; Missing_close_quote_character: string; Identifier_expected: string; _0_keyword_expected: string; _0_expected: string; Identifier_expected_0_is_a_keyword: string; Automatic_semicolon_insertion_not_allowed: string; Unexpected_token_0_expected: string; Trailing_separator_not_allowed: string; AsteriskSlash_expected: string; public_or_private_modifier_must_precede_static: string; Unexpected_token: string; Catch_clause_parameter_cannot_have_a_type_annotation: string; Rest_parameter_must_be_last_in_list: string; Parameter_cannot_have_question_mark_and_initializer: string; Required_parameter_cannot_follow_optional_parameter: string; Index_signatures_cannot_have_rest_parameters: string; Index_signature_parameter_cannot_have_accessibility_modifiers: string; Index_signature_parameter_cannot_have_a_question_mark: string; Index_signature_parameter_cannot_have_an_initializer: string; Index_signature_must_have_a_type_annotation: string; Index_signature_parameter_must_have_a_type_annotation: string; Index_signature_parameter_type_must_be_string_or_number: string; extends_clause_already_seen: string; extends_clause_must_precede_implements_clause: string; Classes_can_only_extend_a_single_class: string; implements_clause_already_seen: string; Accessibility_modifier_already_seen: string; _0_modifier_must_precede_1_modifier: string; _0_modifier_already_seen: string; _0_modifier_cannot_appear_on_a_class_element: string; Interface_declaration_cannot_have_implements_clause: string; super_invocation_cannot_have_type_arguments: string; Only_ambient_modules_can_use_quoted_names: string; Statements_are_not_allowed_in_ambient_contexts: string; Implementations_are_not_allowed_in_ambient_contexts: string; declare_modifier_not_allowed_for_code_already_in_an_ambient_context: string; Initializers_are_not_allowed_in_ambient_contexts: string; Parameter_property_declarations_can_only_be_used_in_a_non_ambient_constructor_declaration: string; Function_implementation_expected: string; Constructor_implementation_expected: string; Function_overload_name_must_be_0: string; _0_modifier_cannot_appear_on_a_module_element: string; declare_modifier_cannot_appear_on_an_interface_declaration: string; declare_modifier_required_for_top_level_element: string; Rest_parameter_cannot_be_optional: string; Rest_parameter_cannot_have_an_initializer: string; set_accessor_must_have_one_and_only_one_parameter: string; set_accessor_parameter_cannot_be_optional: string; set_accessor_parameter_cannot_have_an_initializer: string; set_accessor_cannot_have_rest_parameter: string; get_accessor_cannot_have_parameters: string; Modifiers_cannot_appear_here: string; Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher: string; Class_name_cannot_be_0: string; Interface_name_cannot_be_0: string; Enum_name_cannot_be_0: string; Module_name_cannot_be_0: string; Enum_member_must_have_initializer: string; Export_assignment_cannot_be_used_in_internal_modules: string; Export_assignment_not_allowed_in_module_with_exported_element: string; Module_cannot_have_multiple_export_assignments: string; Ambient_enum_elements_can_only_have_integer_literal_initializers: string; module_class_interface_enum_import_or_statement: string; constructor_function_accessor_or_variable: string; statement: string; case_or_default_clause: string; identifier: string; call_construct_index_property_or_function_signature: string; expression: string; type_name: string; property_or_accessor: string; parameter: string; type: string; type_parameter: string; declare_modifier_not_allowed_on_import_declaration: string; Function_overload_must_be_static: string; Function_overload_must_not_be_static: string; Parameter_property_declarations_cannot_be_used_in_a_constructor_overload: string; Invalid_reference_directive_syntax: string; Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher: string; Accessors_are_not_allowed_in_ambient_contexts: string; _0_modifier_cannot_appear_on_a_constructor_declaration: string; _0_modifier_cannot_appear_on_a_parameter: string; Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement: string; Type_parameters_cannot_appear_on_a_constructor_declaration: string; Type_annotation_cannot_appear_on_a_constructor_declaration: string; Duplicate_identifier_0: string; The_name_0_does_not_exist_in_the_current_scope: string; The_name_0_does_not_refer_to_a_value: string; super_can_only_be_used_inside_a_class_instance_method: string; The_left_hand_side_of_an_assignment_expression_must_be_a_variable_property_or_indexer: string; Value_of_type_0_is_not_callable_Did_you_mean_to_include_new: string; Value_of_type_0_is_not_callable: string; Value_of_type_0_is_not_newable: string; Value_of_type_0_is_not_indexable_by_type_1: string; Operator_0_cannot_be_applied_to_types_1_and_2: string; Operator_0_cannot_be_applied_to_types_1_and_2_3: string; Cannot_convert_0_to_1: string; Cannot_convert_0_to_1_NL_2: string; Expected_var_class_interface_or_module: string; Operator_0_cannot_be_applied_to_type_1: string; Getter_0_already_declared: string; Setter_0_already_declared: string; Exported_class_0_extends_private_class_1: string; Exported_class_0_implements_private_interface_1: string; Exported_interface_0_extends_private_interface_1: string; Exported_class_0_extends_class_from_inaccessible_module_1: string; Exported_class_0_implements_interface_from_inaccessible_module_1: string; Exported_interface_0_extends_interface_from_inaccessible_module_1: string; Public_static_property_0_of_exported_class_has_or_is_using_private_type_1: string; Public_property_0_of_exported_class_has_or_is_using_private_type_1: string; Property_0_of_exported_interface_has_or_is_using_private_type_1: string; Exported_variable_0_has_or_is_using_private_type_1: string; Public_static_property_0_of_exported_class_is_using_inaccessible_module_1: string; Public_property_0_of_exported_class_is_using_inaccessible_module_1: string; Property_0_of_exported_interface_is_using_inaccessible_module_1: string; Exported_variable_0_is_using_inaccessible_module_1: string; Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_type_1: string; Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_type_1: string; Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_type_1: string; Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_type_1: string; Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_type_1: string; Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_type_1: string; Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_type_1: string; Parameter_0_of_method_from_exported_interface_has_or_is_using_private_type_1: string; Parameter_0_of_exported_function_has_or_is_using_private_type_1: string; Parameter_0_of_constructor_from_exported_class_is_using_inaccessible_module_1: string; Parameter_0_of_public_static_property_setter_from_exported_class_is_using_inaccessible_module_1: string; Parameter_0_of_public_property_setter_from_exported_class_is_using_inaccessible_module_1: string; Parameter_0_of_constructor_signature_from_exported_interface_is_using_inaccessible_module_1: string; Parameter_0_of_call_signature_from_exported_interface_is_using_inaccessible_module_1: string; Parameter_0_of_public_static_method_from_exported_class_is_using_inaccessible_module_1: string; Parameter_0_of_public_method_from_exported_class_is_using_inaccessible_module_1: string; Parameter_0_of_method_from_exported_interface_is_using_inaccessible_module_1: string; Parameter_0_of_exported_function_is_using_inaccessible_module_1: string; Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_type_0: string; Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_type_0: string; Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_type_0: string; Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_type_0: string; Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_type_0: string; Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_type_0: string; Return_type_of_public_method_from_exported_class_has_or_is_using_private_type_0: string; Return_type_of_method_from_exported_interface_has_or_is_using_private_type_0: string; Return_type_of_exported_function_has_or_is_using_private_type_0: string; Return_type_of_public_static_property_getter_from_exported_class_is_using_inaccessible_module_0: string; Return_type_of_public_property_getter_from_exported_class_is_using_inaccessible_module_0: string; Return_type_of_constructor_signature_from_exported_interface_is_using_inaccessible_module_0: string; Return_type_of_call_signature_from_exported_interface_is_using_inaccessible_module_0: string; Return_type_of_index_signature_from_exported_interface_is_using_inaccessible_module_0: string; Return_type_of_public_static_method_from_exported_class_is_using_inaccessible_module_0: string; Return_type_of_public_method_from_exported_class_is_using_inaccessible_module_0: string; Return_type_of_method_from_exported_interface_is_using_inaccessible_module_0: string; Return_type_of_exported_function_is_using_inaccessible_module_0: string; new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead: string; A_parameter_list_must_follow_a_generic_type_argument_list_expected: string; Multiple_constructor_implementations_are_not_allowed: string; Unable_to_resolve_external_module_0: string; Module_cannot_be_aliased_to_a_non_module_type: string; A_class_may_only_extend_another_class: string; A_class_may_only_implement_another_class_or_interface: string; An_interface_may_only_extend_another_class_or_interface: string; Unable_to_resolve_type: string; Unable_to_resolve_type_of_0: string; Unable_to_resolve_type_parameter_constraint: string; Type_parameter_constraint_cannot_be_a_primitive_type: string; Supplied_parameters_do_not_match_any_signature_of_call_target: string; Supplied_parameters_do_not_match_any_signature_of_call_target_NL_0: string; Invalid_new_expression: string; Call_signatures_used_in_a_new_expression_must_have_a_void_return_type: string; Could_not_select_overload_for_new_expression: string; Type_0_does_not_satisfy_the_constraint_1_for_type_parameter_2: string; Could_not_select_overload_for_call_expression: string; Cannot_invoke_an_expression_whose_type_lacks_a_call_signature: string; Calls_to_super_are_only_valid_inside_a_class: string; Generic_type_0_requires_1_type_argument_s: string; Type_of_array_literal_cannot_be_determined_Best_common_type_could_not_be_found_for_array_elements: string; Could_not_find_enclosing_symbol_for_dotted_name_0: string; The_property_0_does_not_exist_on_value_of_type_1: string; Could_not_find_symbol_0: string; get_and_set_accessor_must_have_the_same_type: string; this_cannot_be_referenced_in_current_location: string; Static_members_cannot_reference_class_type_parameters: string; Class_0_is_recursively_referenced_as_a_base_type_of_itself: string; Interface_0_is_recursively_referenced_as_a_base_type_of_itself: string; super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class: string; super_cannot_be_referenced_in_non_derived_classes: string; A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties: string; Constructors_for_derived_classes_must_contain_a_super_call: string; Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors: string; _0_1_is_inaccessible: string; this_cannot_be_referenced_within_module_bodies: string; Invalid_expression_types_not_known_to_support_the_addition_operator: string; The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type: string; The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type: string; The_type_of_a_unary_arithmetic_operation_operand_must_be_of_type_any_number_or_an_enum_type: string; Variable_declarations_of_a_for_statement_cannot_use_a_type_annotation: string; Variable_declarations_of_a_for_statement_must_be_of_types_string_or_any: string; The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter: string; The_left_hand_side_of_an_in_expression_must_be_of_types_any_string_or_number: string; The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter: string; The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter: string; The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type: string; Setters_cannot_return_a_value: string; Tried_to_query_type_of_uninitialized_module_0: string; Tried_to_set_variable_type_to_uninitialized_module_type_0: string; Type_0_does_not_have_type_parameters: string; Getters_must_return_a_value: string; Getter_and_setter_accessors_do_not_agree_in_visibility: string; Invalid_left_hand_side_of_assignment_expression: string; Function_declared_a_non_void_return_type_but_has_no_return_expression: string; Cannot_resolve_return_type_reference: string; Constructors_cannot_have_a_return_type_of_void: string; Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2: string; All_symbols_within_a_with_block_will_be_resolved_to_any: string; Import_declarations_in_an_internal_module_cannot_reference_an_external_module: string; Class_0_declares_interface_1_but_does_not_implement_it_NL_2: string; Class_0_declares_class_1_as_an_interface_but_does_not_implement_it_NL_2: string; The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer: string; this_cannot_be_referenced_in_static_initializers_in_a_class_body: string; Class_0_cannot_extend_class_1_NL_2: string; Interface_0_cannot_extend_class_1_NL_2: string; Interface_0_cannot_extend_interface_1_NL_2: string; Duplicate_overload_signature_for_0: string; Duplicate_constructor_overload_signature: string; Duplicate_overload_call_signature: string; Duplicate_overload_construct_signature: string; Overload_signature_is_not_compatible_with_function_definition: string; Overload_signature_is_not_compatible_with_function_definition_NL_0: string; Overload_signatures_must_all_be_public_or_private: string; Overload_signatures_must_all_be_exported_or_not_exported: string; Overload_signatures_must_all_be_ambient_or_non_ambient: string; Overload_signatures_must_all_be_optional_or_required: string; Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature: string; this_cannot_be_referenced_in_constructor_arguments: string; Instance_member_cannot_be_accessed_off_a_class: string; Untyped_function_calls_may_not_accept_type_arguments: string; Non_generic_functions_may_not_accept_type_arguments: string; A_generic_type_may_not_reference_itself_with_a_wrapped_form_of_its_own_type_parameters: string; Rest_parameters_must_be_array_types: string; Overload_signature_implementation_cannot_use_specialized_type: string; Export_assignments_may_only_be_used_at_the_top_level_of_external_modules: string; Export_assignments_may_only_be_made_with_variables_functions_classes_interfaces_enums_and_internal_modules: string; Only_public_methods_of_the_base_class_are_accessible_via_the_super_keyword: string; Numeric_indexer_type_0_must_be_assignable_to_string_indexer_type_1: string; Numeric_indexer_type_0_must_be_assignable_to_string_indexer_type_1_NL_2: string; All_numerically_named_properties_must_be_assignable_to_numeric_indexer_type_0: string; All_numerically_named_properties_must_be_assignable_to_numeric_indexer_type_0_NL_1: string; All_named_properties_must_be_assignable_to_string_indexer_type_0: string; All_named_properties_must_be_assignable_to_string_indexer_type_0_NL_1: string; Generic_type_references_must_include_all_type_arguments: string; Default_arguments_are_only_allowed_in_implementation: string; Overloads_cannot_differ_only_by_return_type: string; Function_expression_declared_a_non_void_return_type_but_has_no_return_expression: string; Import_declaration_referencing_identifier_from_internal_module_can_only_be_made_with_variables_functions_classes_interfaces_enums_and_internal_modules: string; Could_not_find_symbol_0_in_module_1: string; Unable_to_resolve_module_reference_0: string; Could_not_find_module_0_in_module_1: string; Exported_import_declaration_0_is_assigned_value_with_type_that_has_or_is_using_private_type_1: string; Exported_import_declaration_0_is_assigned_value_with_type_that_is_using_inaccessible_module_1: string; Exported_import_declaration_0_is_assigned_type_that_has_or_is_using_private_type_1: string; Exported_import_declaration_0_is_assigned_type_that_is_using_inaccessible_module_1: string; Exported_import_declaration_0_is_assigned_container_that_is_or_is_using_inaccessible_module_1: string; Type_name_0_in_extends_clause_does_not_reference_constructor_function_for_1: string; Internal_module_reference_0_in_import_declaration_does_not_reference_module_instance_for_1: string; Module_0_cannot_merge_with_previous_declaration_of_1_in_a_different_file_2: string; Interface_0_cannot_simultaneously_extend_types_1_and_2_NL_3: string; Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it: string; Ambient_external_module_declaration_cannot_be_reopened: string; All_declarations_of_merged_declaration_0_must_be_exported_or_not_exported: string; super_cannot_be_referenced_in_constructor_arguments: string; Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class: string; Ambient_external_module_declaration_must_be_defined_in_global_context: string; Ambient_external_module_declaration_cannot_specify_relative_module_name: string; Import_declaration_in_an_ambient_external_module_declaration_cannot_reference_external_module_through_relative_external_module_name: string; Could_not_find_the_best_common_type_of_types_of_all_return_statement_expressions: string; Import_declaration_cannot_refer_to_external_module_reference_when_noResolve_option_is_set: string; Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference: string; continue_statement_can_only_be_used_within_an_enclosing_iteration_statement: string; break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement: string; Jump_target_not_found: string; Jump_target_cannot_cross_function_boundary: string; Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference: string; Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference: string; Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference: string; TypeParameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_type_1: string; TypeParameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_type_1: string; TypeParameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_type_1: string; TypeParameter_0_of_public_method_from_exported_class_has_or_is_using_private_type_1: string; TypeParameter_0_of_method_from_exported_interface_has_or_is_using_private_type_1: string; TypeParameter_0_of_exported_function_has_or_is_using_private_type_1: string; TypeParameter_0_of_constructor_signature_from_exported_interface_is_using_inaccessible_module_1: string; TypeParameter_0_of_call_signature_from_exported_interface_is_using_inaccessible_module_1: string; TypeParameter_0_of_public_static_method_from_exported_class_is_using_inaccessible_module_1: string; TypeParameter_0_of_public_method_from_exported_class_is_using_inaccessible_module_1: string; TypeParameter_0_of_method_from_exported_interface_is_using_inaccessible_module_1: string; TypeParameter_0_of_exported_function_is_using_inaccessible_module_1: string; TypeParameter_0_of_exported_class_has_or_is_using_private_type_1: string; TypeParameter_0_of_exported_interface_has_or_is_using_private_type_1: string; TypeParameter_0_of_exported_class_is_using_inaccessible_module_1: string; TypeParameter_0_of_exported_interface_is_using_inaccessible_module_1: string; Duplicate_identifier_i_Compiler_uses_i_to_initialize_rest_parameter: string; Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters: string; Type_of_conditional_0_must_be_identical_to_1_or_2: string; Type_of_conditional_0_must_be_identical_to_1_2_or_3: string; Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_an_external_module: string; Constraint_of_a_type_parameter_cannot_reference_any_type_parameter_from_the_same_type_parameter_list: string; Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: string; Parameter_0_cannot_be_referenced_in_its_initializer: string; Duplicate_string_index_signature: string; Duplicate_number_index_signature: string; All_declarations_of_an_interface_must_have_identical_type_parameters: string; Expression_resolves_to_variable_declaration_i_that_compiler_uses_to_initialize_rest_parameter: string; Type_0_is_missing_property_1_from_type_2: string; Types_of_property_0_of_types_1_and_2_are_incompatible: string; Types_of_property_0_of_types_1_and_2_are_incompatible_NL_3: string; Property_0_defined_as_private_in_type_1_is_defined_as_public_in_type_2: string; Property_0_defined_as_public_in_type_1_is_defined_as_private_in_type_2: string; Types_0_and_1_define_property_2_as_private: string; Call_signatures_of_types_0_and_1_are_incompatible: string; Call_signatures_of_types_0_and_1_are_incompatible_NL_2: string; Type_0_requires_a_call_signature_but_type_1_lacks_one: string; Construct_signatures_of_types_0_and_1_are_incompatible: string; Construct_signatures_of_types_0_and_1_are_incompatible_NL_2: string; Type_0_requires_a_construct_signature_but_type_1_lacks_one: string; Index_signatures_of_types_0_and_1_are_incompatible: string; Index_signatures_of_types_0_and_1_are_incompatible_NL_2: string; Call_signature_expects_0_or_fewer_parameters: string; Could_not_apply_type_0_to_argument_1_which_is_of_type_2: string; Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function: string; Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function: string; Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor: string; Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property: string; Types_of_static_property_0_of_class_1_and_class_2_are_incompatible: string; Types_of_static_property_0_of_class_1_and_class_2_are_incompatible_NL_3: string; Type_reference_cannot_refer_to_container_0: string; Type_reference_must_refer_to_type: string; In_enums_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_the_first_enum_element: string; _0_overload_s: string; Variable_declaration_cannot_have_the_same_name_as_an_import_declaration: string; Signature_expected_0_type_arguments_got_1_instead: string; Property_0_defined_as_optional_in_type_1_but_is_required_in_type_2: string; Types_0_and_1_originating_in_infinitely_expanding_type_reference_do_not_refer_to_same_named_type: string; Types_0_and_1_originating_in_infinitely_expanding_type_reference_have_incompatible_type_arguments: string; Types_0_and_1_originating_in_infinitely_expanding_type_reference_have_incompatible_type_arguments_NL_2: string; Named_properties_0_of_types_1_and_2_are_not_identical: string; Types_of_string_indexer_of_types_0_and_1_are_not_identical: string; Types_of_number_indexer_of_types_0_and_1_are_not_identical: string; Type_of_number_indexer_in_type_0_is_not_assignable_to_string_indexer_type_in_type_1_NL_2: string; Type_of_property_0_in_type_1_is_not_assignable_to_string_indexer_type_in_type_2_NL_3: string; Type_of_property_0_in_type_1_is_not_assignable_to_number_indexer_type_in_type_2_NL_3: string; Static_property_0_defined_as_private_in_type_1_is_defined_as_public_in_type_2: string; Static_property_0_defined_as_public_in_type_1_is_defined_as_private_in_type_2: string; Types_0_and_1_define_static_property_2_as_private: string; Current_host_does_not_support_0_option: string; ECMAScript_target_version_0_not_supported_Specify_a_valid_target_version_1_default_or_2: string; Module_code_generation_0_not_supported: string; Could_not_find_file_0: string; A_file_cannot_have_a_reference_to_itself: string; Cannot_resolve_referenced_file_0: string; Cannot_find_the_common_subdirectory_path_for_the_input_files: string; Emit_Error_0: string; Cannot_read_file_0_1: string; Unsupported_file_encoding: string; Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1: string; Unsupported_locale_0: string; Execution_Failed_NL: string; Invalid_call_to_up: string; Invalid_call_to_down: string; Base64_value_0_finished_with_a_continuation_bit: string; Unknown_option_0: string; Expected_0_arguments_to_message_got_1_instead: string; Expected_the_message_0_to_have_1_arguments_but_it_had_2: string; Could_not_delete_file_0: string; Could_not_create_directory_0: string; Error_while_executing_file_0: string; Cannot_compile_external_modules_unless_the_module_flag_is_provided: string; Option_mapRoot_cannot_be_specified_without_specifying_sourcemap_option: string; Option_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option: string; Options_mapRoot_and_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option: string; Option_0_specified_without_1: string; codepage_option_not_supported_on_current_platform: string; Concatenate_and_emit_output_to_single_file: string; Generates_corresponding_0_file: string; Specifies_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations: string; Specifies_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations: string; Watch_input_files: string; Redirect_output_structure_to_the_directory: string; Do_not_emit_comments_to_output: string; Skip_resolution_and_preprocessing: string; Specify_ECMAScript_target_version_0_default_or_1: string; Specify_module_code_generation_0_or_1: string; Print_this_message: string; Print_the_compiler_s_version_0: string; Allow_use_of_deprecated_0_keyword_when_referencing_an_external_module: string; Specify_locale_for_errors_and_messages_For_example_0_or_1: string; Syntax_0: string; options: string; file1: string; Examples: string; Options: string; Insert_command_line_options_and_files_from_a_file: string; Version_0: string; Use_the_0_flag_to_see_options: string; NL_Recompiling_0: string; STRING: string; KIND: string; file2: string; VERSION: string; LOCATION: string; DIRECTORY: string; NUMBER: string; Specify_the_codepage_to_use_when_opening_source_files: string; Additional_locations: string; This_version_of_the_Javascript_runtime_does_not_support_the_0_function: string; Unknown_rule: string; Invalid_line_number_0: string; Warn_on_expressions_and_declarations_with_an_implied_any_type: string; Variable_0_implicitly_has_an_any_type: string; Parameter_0_of_1_implicitly_has_an_any_type: string; Parameter_0_of_function_type_implicitly_has_an_any_type: string; Member_0_of_object_type_implicitly_has_an_any_type: string; new_expression_which_lacks_a_constructor_signature_implicitly_has_an_any_type: string; _0_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: string; Function_expression_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: string; Parameter_0_of_lambda_function_implicitly_has_an_any_type: string; Constructor_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: string; Lambda_Function_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: string; Array_Literal_implicitly_has_an_any_type_from_widening: string; _0_which_lacks_get_accessor_and_parameter_type_annotation_on_set_accessor_implicitly_has_an_any_type: string; Index_signature_of_object_type_implicitly_has_an_any_type: string; Object_literal_s_property_0_implicitly_has_an_any_type_from_widening: string; }; } declare module TypeScript { class ArrayUtilities { static isArray(value: any): boolean; static sequenceEquals(array1: T[], array2: T[], equals: (v1: T, v2: T) => boolean): boolean; static contains(array: T[], value: T): boolean; static groupBy(array: T[], func: (v: T) => string): any; static distinct(array: T[], equalsFn?: (a: T, b: T) => boolean): T[]; static min(array: T[], func: (v: T) => number): number; static max(array: T[], func: (v: T) => number): number; static last(array: T[]): T; static lastOrDefault(array: T[], predicate: (v: T, index: number) => boolean): T; static firstOrDefault(array: T[], func: (v: T, index: number) => boolean): T; static first(array: T[], func?: (v: T, index: number) => boolean): T; static sum(array: T[], func: (v: T) => number): number; static select(values: T[], func: (v: T) => S): S[]; static where(values: T[], func: (v: T) => boolean): T[]; static any(array: T[], func: (v: T) => boolean): boolean; static all(array: T[], func: (v: T) => boolean): boolean; static binarySearch(array: number[], value: number): number; static createArray(length: number, defaultValue: any): T[]; static grow(array: T[], length: number, defaultValue: T): void; static copy(sourceArray: T[], sourceIndex: number, destinationArray: T[], destinationIndex: number, length: number): void; static indexOf(array: T[], predicate: (v: T) => boolean): number; } } declare module TypeScript { interface IBitVector { valueAt(index: number): boolean; setValueAt(index: number, value: boolean): void; release(): void; } module BitVector { function getBitVector(allowUndefinedValues: boolean): IBitVector; } } declare module TypeScript { interface IBitMatrix { valueAt(x: number, y: number): boolean; setValueAt(x: number, y: number, value: boolean): void; release(): void; } module BitMatrix { function getBitMatrix(allowUndefinedValues: boolean): IBitMatrix; } } declare module TypeScript { enum Constants { Max31BitInteger = 1073741823, Min31BitInteger = -1073741824, } } declare module TypeScript { enum AssertionLevel { None = 0, Normal = 1, Aggressive = 2, VeryAggressive = 3, } class Debug { private static currentAssertionLevel; static shouldAssert(level: AssertionLevel): boolean; static assert(expression: any, message?: string, verboseDebugInfo?: () => string): void; static fail(message?: string): void; } } declare module TypeScript { var LocalizedDiagnosticMessages: IIndexable; class Location { private _fileName; private _lineMap; private _start; private _length; constructor(fileName: string, lineMap: LineMap, start: number, length: number); public fileName(): string; public lineMap(): LineMap; public line(): number; public character(): number; public start(): number; public length(): number; static equals(location1: Location, location2: Location): boolean; } class Diagnostic extends Location { private _diagnosticKey; private _arguments; private _additionalLocations; constructor(fileName: string, lineMap: LineMap, start: number, length: number, diagnosticKey: string, _arguments?: any[], additionalLocations?: Location[]); public toJSON(key: any): any; public diagnosticKey(): string; public arguments(): any[]; public text(): string; public message(): string; public additionalLocations(): Location[]; static equals(diagnostic1: Diagnostic, diagnostic2: Diagnostic): boolean; public info(): DiagnosticInfo; } function newLine(): string; function getLocalizedText(diagnosticKey: string, args: any[]): string; function getDiagnosticMessage(diagnosticKey: string, args: any[]): string; } declare module TypeScript { interface DiagnosticInfo { category: DiagnosticCategory; message: string; code: number; } } declare module TypeScript { class Errors { static argument(argument: string, message?: string): Error; static argumentOutOfRange(argument: string): Error; static argumentNull(argument: string): Error; static abstract(): Error; static notYetImplemented(): Error; static invalidOperation(message?: string): Error; } } declare module TypeScript { class Hash { private static FNV_BASE; private static FNV_PRIME; private static computeFnv1aCharArrayHashCode(text, start, len); static computeSimple31BitCharArrayHashCode(key: number[], start: number, len: number): number; static computeSimple31BitStringHashCode(key: string): number; static computeMurmur2StringHashCode(key: string, seed: number): number; private static primes; static getPrime(min: number): number; static expandPrime(oldSize: number): number; static combine(value: number, currentHash: number): number; } } declare module TypeScript.Collections { var DefaultHashTableCapacity: number; class HashTable { private hash; private entries; private count; constructor(capacity: number, hash: (k: TKey) => number); public set(key: TKey, value: TValue): void; public add(key: TKey, value: TValue): void; public containsKey(key: TKey): boolean; public get(key: TKey): TValue; private computeHashCode(key); private addOrSet(key, value, throwOnExistingEntry); private findEntry(key, hashCode); private addEntry(key, value, hashCode); private grow(); } function createHashTable(capacity?: number, hash?: (k: TKey) => number): HashTable; function identityHashCode(value: any): number; } declare module TypeScript { var nodeMakeDirectoryTime: number; var nodeCreateBufferTime: number; var nodeWriteFileSyncTime: number; enum ByteOrderMark { None = 0, Utf8 = 1, Utf16BigEndian = 2, Utf16LittleEndian = 3, } class FileInformation { public contents: string; public byteOrderMark: ByteOrderMark; constructor(contents: string, byteOrderMark: ByteOrderMark); } interface IEnvironment { supportsCodePage(): boolean; readFile(path: string, codepage: number): FileInformation; writeFile(path: string, contents: string, writeByteOrderMark: boolean): void; deleteFile(path: string): void; fileExists(path: string): boolean; directoryExists(path: string): boolean; listFiles(path: string, re?: RegExp, options?: { recursive?: boolean; }): string[]; arguments: string[]; standardOut: ITextWriter; currentDirectory(): string; newLine: string; } var Environment: IEnvironment; } declare module TypeScript { interface IIndexable { [s: string]: T; } } declare module TypeScript { module IntegerUtilities { function integerDivide(numerator: number, denominator: number): number; function integerMultiplyLow32Bits(n1: number, n2: number): number; function integerMultiplyHigh32Bits(n1: number, n2: number): number; function isInteger(text: string): boolean; function isHexInteger(text: string): boolean; } } declare module TypeScript { interface Iterator { moveNext(): boolean; current(): T; } } declare module TypeScript { interface ILineAndCharacter { line: number; character: number; } } declare module TypeScript { class LineMap { private _computeLineStarts; private length; static empty: LineMap; private _lineStarts; constructor(_computeLineStarts: () => number[], length: number); public toJSON(key: any): { lineStarts: number[]; length: number; }; public equals(other: LineMap): boolean; public lineStarts(): number[]; public lineCount(): number; public getPosition(line: number, character: number): number; public getLineNumberFromPosition(position: number): number; public getLineStartPosition(lineNumber: number): number; public fillLineAndCharacterFromPosition(position: number, lineAndCharacter: ILineAndCharacter): void; public getLineAndCharacterFromPosition(position: number): LineAndCharacter; } } declare module TypeScript { class LineAndCharacter { private _line; private _character; constructor(line: number, character: number); public line(): number; public character(): number; } } declare module TypeScript { class MathPrototype { static max(a: number, b: number): number; static min(a: number, b: number): number; } } declare module TypeScript.Collections { var DefaultStringTableCapacity: number; class StringTable { private entries; private count; constructor(capacity: number); public addCharArray(key: number[], start: number, len: number): string; private findCharArrayEntry(key, start, len, hashCode); private addEntry(text, hashCode); private grow(); private static textCharArrayEquals(text, array, start, length); } var DefaultStringTable: StringTable; } declare module TypeScript { class StringUtilities { static isString(value: any): boolean; static fromCharCodeArray(array: number[]): string; static endsWith(string: string, value: string): boolean; static startsWith(string: string, value: string): boolean; static copyTo(source: string, sourceIndex: number, destination: number[], destinationIndex: number, count: number): void; static repeat(value: string, count: number): string; static stringEquals(val1: string, val2: string): boolean; } } declare module TypeScript { class Timer { public startTime: number; public time: number; public start(): void; public end(): void; } } declare module TypeScript { enum DiagnosticCategory { Warning = 0, Error = 1, Message = 2, NoPrefix = 3, } } declare module TypeScript { var diagnosticInformationMap: IIndexable; } declare module TypeScript { enum CharacterCodes { nullCharacter = 0, maxAsciiCharacter = 127, lineFeed = 10, carriageReturn = 13, lineSeparator = 8232, paragraphSeparator = 8233, nextLine = 133, space = 32, nonBreakingSpace = 160, enQuad = 8192, emQuad = 8193, enSpace = 8194, emSpace = 8195, threePerEmSpace = 8196, fourPerEmSpace = 8197, sixPerEmSpace = 8198, figureSpace = 8199, punctuationSpace = 8200, thinSpace = 8201, hairSpace = 8202, zeroWidthSpace = 8203, narrowNoBreakSpace = 8239, ideographicSpace = 12288, _ = 95, $ = 36, _0 = 48, _7 = 55, _9 = 57, a = 97, b = 98, c = 99, d = 100, e = 101, f = 102, g = 103, h = 104, i = 105, k = 107, l = 108, m = 109, n = 110, o = 111, p = 112, q = 113, r = 114, s = 115, t = 116, u = 117, v = 118, w = 119, x = 120, y = 121, z = 122, A = 65, E = 69, F = 70, X = 88, Z = 90, ampersand = 38, asterisk = 42, at = 64, backslash = 92, bar = 124, caret = 94, closeBrace = 125, closeBracket = 93, closeParen = 41, colon = 58, comma = 44, dot = 46, doubleQuote = 34, equals = 61, exclamation = 33, greaterThan = 62, lessThan = 60, minus = 45, openBrace = 123, openBracket = 91, openParen = 40, percent = 37, plus = 43, question = 63, semicolon = 59, singleQuote = 39, slash = 47, tilde = 126, backspace = 8, formFeed = 12, byteOrderMark = 65279, tab = 9, verticalTab = 11, } } declare module TypeScript { interface IScriptSnapshot { getText(start: number, end: number): string; getLength(): number; getLineStartPositions(): number[]; getTextChangeRangeSinceVersion(scriptVersion: number): TextChangeRange; } module ScriptSnapshot { function fromString(text: string): IScriptSnapshot; } } declare module TypeScript { interface ISimpleText { length(): number; copyTo(sourceIndex: number, destination: number[], destinationIndex: number, count: number): void; substr(start: number, length: number, intern: boolean): string; subText(span: TextSpan): ISimpleText; charCodeAt(index: number): number; lineMap(): LineMap; } interface IText extends ISimpleText { lineCount(): number; lines(): ITextLine[]; charCodeAt(position: number): number; getLineFromLineNumber(lineNumber: number): ITextLine; getLineFromPosition(position: number): ITextLine; getLineNumberFromPosition(position: number): number; getLinePosition(position: number): LineAndCharacter; toString(span?: TextSpan): string; } } declare module TypeScript { interface ITextLine { start(): number; end(): number; endIncludingLineBreak(): number; extent(): TextSpan; extentIncludingLineBreak(): TextSpan; toString(): string; lineNumber(): number; } } declare module TypeScript { module LineMap1 { function fromSimpleText(text: ISimpleText): LineMap; function fromScriptSnapshot(scriptSnapshot: IScriptSnapshot): LineMap; function fromString(text: string): LineMap; } } declare module TypeScript.TextFactory { function createText(value: string): IText; } declare module TypeScript.SimpleText { function fromString(value: string): ISimpleText; function fromScriptSnapshot(scriptSnapshot: IScriptSnapshot): ISimpleText; } declare module TypeScript.TextUtilities { interface ICharacterSequence { charCodeAt(index: number): number; length: number; } function parseLineStarts(text: ICharacterSequence): number[]; function getLengthOfLineBreakSlow(text: ICharacterSequence, index: number, c: number): number; function getLengthOfLineBreak(text: ICharacterSequence, index: number): number; function isAnyLineBreakCharacter(c: number): boolean; } declare module TypeScript { class TextSpan { private _start; private _length; constructor(start: number, length: number); public start(): number; public length(): number; public end(): number; public isEmpty(): boolean; public containsPosition(position: number): boolean; public containsTextSpan(span: TextSpan): boolean; public overlapsWith(span: TextSpan): boolean; public overlap(span: TextSpan): TextSpan; public intersectsWithTextSpan(span: TextSpan): boolean; public intersectsWith(start: number, length: number): boolean; public intersectsWithPosition(position: number): boolean; public intersection(span: TextSpan): TextSpan; static fromBounds(start: number, end: number): TextSpan; } } declare module TypeScript { class TextChangeRange { static unchanged: TextChangeRange; private _span; private _newLength; constructor(span: TextSpan, newLength: number); public span(): TextSpan; public newLength(): number; public newSpan(): TextSpan; public isUnchanged(): boolean; static collapseChangesFromSingleVersion(changes: TextChangeRange[]): TextChangeRange; static collapseChangesAcrossMultipleVersions(changes: TextChangeRange[]): TextChangeRange; } } declare module TypeScript { class CharacterInfo { static isDecimalDigit(c: number): boolean; static isOctalDigit(c: number): boolean; static isHexDigit(c: number): boolean; static hexValue(c: number): number; static isWhitespace(ch: number): boolean; static isLineTerminator(ch: number): boolean; } } declare module TypeScript { enum SyntaxConstants { TriviaNewLineMask = 1, TriviaCommentMask = 2, TriviaFullWidthShift = 2, NodeDataComputed = 1, NodeIncrementallyUnusableMask = 2, NodeParsedInStrictModeMask = 4, NodeFullWidthShift = 3, IsVariableWidthKeyword = -2147483648, } } declare class FormattingOptions { public useTabs: boolean; public spacesPerTab: number; public indentSpaces: number; public newLineCharacter: string; constructor(useTabs: boolean, spacesPerTab: number, indentSpaces: number, newLineCharacter: string); static defaultOptions: FormattingOptions; } declare module TypeScript.Indentation { function columnForEndOfToken(token: ISyntaxToken, syntaxInformationMap: SyntaxInformationMap, options: FormattingOptions): number; function columnForStartOfToken(token: ISyntaxToken, syntaxInformationMap: SyntaxInformationMap, options: FormattingOptions): number; function columnForStartOfFirstTokenInLineContainingToken(token: ISyntaxToken, syntaxInformationMap: SyntaxInformationMap, options: FormattingOptions): number; function columnForPositionInString(input: string, position: number, options: FormattingOptions): number; function indentationString(column: number, options: FormattingOptions): string; function indentationTrivia(column: number, options: FormattingOptions): ISyntaxTrivia; function firstNonWhitespacePosition(value: string): number; } declare module TypeScript { enum LanguageVersion { EcmaScript3 = 0, EcmaScript5 = 1, } } declare module TypeScript { class ParseOptions { private _languageVersion; private _allowAutomaticSemicolonInsertion; constructor(languageVersion: LanguageVersion, allowAutomaticSemicolonInsertion: boolean); public toJSON(key: any): { allowAutomaticSemicolonInsertion: boolean; }; public languageVersion(): LanguageVersion; public allowAutomaticSemicolonInsertion(): boolean; } } declare module TypeScript { class PositionedElement { private _parent; private _element; private _fullStart; constructor(parent: PositionedElement, element: ISyntaxElement, fullStart: number); static create(parent: PositionedElement, element: ISyntaxElement, fullStart: number): PositionedElement; public parent(): PositionedElement; public parentElement(): ISyntaxElement; public element(): ISyntaxElement; public kind(): SyntaxKind; public childIndex(child: ISyntaxElement): number; public childCount(): number; public childAt(index: number): PositionedElement; public childStart(child: ISyntaxElement): number; public childEnd(child: ISyntaxElement): number; public childStartAt(index: number): number; public childEndAt(index: number): number; public getPositionedChild(child: ISyntaxElement): PositionedElement; public fullStart(): number; public fullEnd(): number; public fullWidth(): number; public start(): number; public end(): number; public root(): PositionedNode; public containingNode(): PositionedNode; } class PositionedNodeOrToken extends PositionedElement { constructor(parent: PositionedElement, nodeOrToken: ISyntaxNodeOrToken, fullStart: number); public nodeOrToken(): ISyntaxNodeOrToken; } class PositionedNode extends PositionedNodeOrToken { constructor(parent: PositionedElement, node: SyntaxNode, fullStart: number); public node(): SyntaxNode; } class PositionedToken extends PositionedNodeOrToken { constructor(parent: PositionedElement, token: ISyntaxToken, fullStart: number); public token(): ISyntaxToken; public previousToken(includeSkippedTokens?: boolean): PositionedToken; public nextToken(includeSkippedTokens?: boolean): PositionedToken; } class PositionedList extends PositionedElement { constructor(parent: PositionedElement, list: ISyntaxList, fullStart: number); public list(): ISyntaxList; } class PositionedSeparatedList extends PositionedElement { constructor(parent: PositionedElement, list: ISeparatedSyntaxList, fullStart: number); public list(): ISeparatedSyntaxList; } class PositionedSkippedToken extends PositionedToken { private _parentToken; constructor(parentToken: PositionedToken, token: ISyntaxToken, fullStart: number); public parentToken(): PositionedToken; public previousToken(includeSkippedTokens?: boolean): PositionedToken; public nextToken(includeSkippedTokens?: boolean): PositionedToken; } } declare module TypeScript { enum SyntaxKind { None = 0, List = 1, SeparatedList = 2, TriviaList = 3, WhitespaceTrivia = 4, NewLineTrivia = 5, MultiLineCommentTrivia = 6, SingleLineCommentTrivia = 7, SkippedTokenTrivia = 8, ErrorToken = 9, EndOfFileToken = 10, IdentifierName = 11, RegularExpressionLiteral = 12, NumericLiteral = 13, StringLiteral = 14, BreakKeyword = 15, CaseKeyword = 16, CatchKeyword = 17, ContinueKeyword = 18, DebuggerKeyword = 19, DefaultKeyword = 20, DeleteKeyword = 21, DoKeyword = 22, ElseKeyword = 23, FalseKeyword = 24, FinallyKeyword = 25, ForKeyword = 26, FunctionKeyword = 27, IfKeyword = 28, InKeyword = 29, InstanceOfKeyword = 30, NewKeyword = 31, NullKeyword = 32, ReturnKeyword = 33, SwitchKeyword = 34, ThisKeyword = 35, ThrowKeyword = 36, TrueKeyword = 37, TryKeyword = 38, TypeOfKeyword = 39, VarKeyword = 40, VoidKeyword = 41, WhileKeyword = 42, WithKeyword = 43, ClassKeyword = 44, ConstKeyword = 45, EnumKeyword = 46, ExportKeyword = 47, ExtendsKeyword = 48, ImportKeyword = 49, SuperKeyword = 50, ImplementsKeyword = 51, InterfaceKeyword = 52, LetKeyword = 53, PackageKeyword = 54, PrivateKeyword = 55, ProtectedKeyword = 56, PublicKeyword = 57, StaticKeyword = 58, YieldKeyword = 59, AnyKeyword = 60, BooleanKeyword = 61, ConstructorKeyword = 62, DeclareKeyword = 63, GetKeyword = 64, ModuleKeyword = 65, RequireKeyword = 66, NumberKeyword = 67, SetKeyword = 68, StringKeyword = 69, OpenBraceToken = 70, CloseBraceToken = 71, OpenParenToken = 72, CloseParenToken = 73, OpenBracketToken = 74, CloseBracketToken = 75, DotToken = 76, DotDotDotToken = 77, SemicolonToken = 78, CommaToken = 79, LessThanToken = 80, GreaterThanToken = 81, LessThanEqualsToken = 82, GreaterThanEqualsToken = 83, EqualsEqualsToken = 84, EqualsGreaterThanToken = 85, ExclamationEqualsToken = 86, EqualsEqualsEqualsToken = 87, ExclamationEqualsEqualsToken = 88, PlusToken = 89, MinusToken = 90, AsteriskToken = 91, PercentToken = 92, PlusPlusToken = 93, MinusMinusToken = 94, LessThanLessThanToken = 95, GreaterThanGreaterThanToken = 96, GreaterThanGreaterThanGreaterThanToken = 97, AmpersandToken = 98, BarToken = 99, CaretToken = 100, ExclamationToken = 101, TildeToken = 102, AmpersandAmpersandToken = 103, BarBarToken = 104, QuestionToken = 105, ColonToken = 106, EqualsToken = 107, PlusEqualsToken = 108, MinusEqualsToken = 109, AsteriskEqualsToken = 110, PercentEqualsToken = 111, LessThanLessThanEqualsToken = 112, GreaterThanGreaterThanEqualsToken = 113, GreaterThanGreaterThanGreaterThanEqualsToken = 114, AmpersandEqualsToken = 115, BarEqualsToken = 116, CaretEqualsToken = 117, SlashToken = 118, SlashEqualsToken = 119, SourceUnit = 120, QualifiedName = 121, ObjectType = 122, FunctionType = 123, ArrayType = 124, ConstructorType = 125, GenericType = 126, TypeQuery = 127, InterfaceDeclaration = 128, FunctionDeclaration = 129, ModuleDeclaration = 130, ClassDeclaration = 131, EnumDeclaration = 132, ImportDeclaration = 133, ExportAssignment = 134, MemberFunctionDeclaration = 135, MemberVariableDeclaration = 136, ConstructorDeclaration = 137, IndexMemberDeclaration = 138, GetAccessor = 139, SetAccessor = 140, PropertySignature = 141, CallSignature = 142, ConstructSignature = 143, IndexSignature = 144, MethodSignature = 145, Block = 146, IfStatement = 147, VariableStatement = 148, ExpressionStatement = 149, ReturnStatement = 150, SwitchStatement = 151, BreakStatement = 152, ContinueStatement = 153, ForStatement = 154, ForInStatement = 155, EmptyStatement = 156, ThrowStatement = 157, WhileStatement = 158, TryStatement = 159, LabeledStatement = 160, DoStatement = 161, DebuggerStatement = 162, WithStatement = 163, PlusExpression = 164, NegateExpression = 165, BitwiseNotExpression = 166, LogicalNotExpression = 167, PreIncrementExpression = 168, PreDecrementExpression = 169, DeleteExpression = 170, TypeOfExpression = 171, VoidExpression = 172, CommaExpression = 173, AssignmentExpression = 174, AddAssignmentExpression = 175, SubtractAssignmentExpression = 176, MultiplyAssignmentExpression = 177, DivideAssignmentExpression = 178, ModuloAssignmentExpression = 179, AndAssignmentExpression = 180, ExclusiveOrAssignmentExpression = 181, OrAssignmentExpression = 182, LeftShiftAssignmentExpression = 183, SignedRightShiftAssignmentExpression = 184, UnsignedRightShiftAssignmentExpression = 185, ConditionalExpression = 186, LogicalOrExpression = 187, LogicalAndExpression = 188, BitwiseOrExpression = 189, BitwiseExclusiveOrExpression = 190, BitwiseAndExpression = 191, EqualsWithTypeConversionExpression = 192, NotEqualsWithTypeConversionExpression = 193, EqualsExpression = 194, NotEqualsExpression = 195, LessThanExpression = 196, GreaterThanExpression = 197, LessThanOrEqualExpression = 198, GreaterThanOrEqualExpression = 199, InstanceOfExpression = 200, InExpression = 201, LeftShiftExpression = 202, SignedRightShiftExpression = 203, UnsignedRightShiftExpression = 204, MultiplyExpression = 205, DivideExpression = 206, ModuloExpression = 207, AddExpression = 208, SubtractExpression = 209, PostIncrementExpression = 210, PostDecrementExpression = 211, MemberAccessExpression = 212, InvocationExpression = 213, ArrayLiteralExpression = 214, ObjectLiteralExpression = 215, ObjectCreationExpression = 216, ParenthesizedExpression = 217, ParenthesizedArrowFunctionExpression = 218, SimpleArrowFunctionExpression = 219, CastExpression = 220, ElementAccessExpression = 221, FunctionExpression = 222, OmittedExpression = 223, VariableDeclaration = 224, VariableDeclarator = 225, ArgumentList = 226, ParameterList = 227, TypeArgumentList = 228, TypeParameterList = 229, ExtendsHeritageClause = 230, ImplementsHeritageClause = 231, EqualsValueClause = 232, CaseSwitchClause = 233, DefaultSwitchClause = 234, ElseClause = 235, CatchClause = 236, FinallyClause = 237, TypeParameter = 238, Constraint = 239, SimplePropertyAssignment = 240, FunctionPropertyAssignment = 241, Parameter = 242, EnumElement = 243, TypeAnnotation = 244, ExternalModuleReference = 245, ModuleNameModuleReference = 246, Last = 246, FirstStandardKeyword = 15, LastStandardKeyword = 43, FirstFutureReservedKeyword = 44, LastFutureReservedKeyword = 50, FirstFutureReservedStrictKeyword = 51, LastFutureReservedStrictKeyword = 59, FirstTypeScriptKeyword = 60, LastTypeScriptKeyword = 69, FirstKeyword = 15, LastKeyword = 69, FirstToken = 9, LastToken = 119, FirstPunctuation = 70, LastPunctuation = 119, FirstFixedWidth = 15, LastFixedWidth = 119, FirstTrivia = 4, LastTrivia = 8, } } declare module TypeScript.SyntaxFacts { function getTokenKind(text: string): SyntaxKind; function getText(kind: SyntaxKind): string; function isTokenKind(kind: SyntaxKind): boolean; function isAnyKeyword(kind: SyntaxKind): boolean; function isStandardKeyword(kind: SyntaxKind): boolean; function isFutureReservedKeyword(kind: SyntaxKind): boolean; function isFutureReservedStrictKeyword(kind: SyntaxKind): boolean; function isAnyPunctuation(kind: SyntaxKind): boolean; function isPrefixUnaryExpressionOperatorToken(tokenKind: SyntaxKind): boolean; function isBinaryExpressionOperatorToken(tokenKind: SyntaxKind): boolean; function getPrefixUnaryExpressionFromOperatorToken(tokenKind: SyntaxKind): SyntaxKind; function getPostfixUnaryExpressionFromOperatorToken(tokenKind: SyntaxKind): SyntaxKind; function getBinaryExpressionFromOperatorToken(tokenKind: SyntaxKind): SyntaxKind; function getOperatorTokenFromBinaryExpression(tokenKind: SyntaxKind): SyntaxKind; function isAnyDivideToken(kind: SyntaxKind): boolean; function isAnyDivideOrRegularExpressionToken(kind: SyntaxKind): boolean; } declare module TypeScript { class Scanner implements ISlidingWindowSource { private slidingWindow; private fileName; private text; private _languageVersion; constructor(fileName: string, text: ISimpleText, languageVersion: LanguageVersion, window?: number[]); public languageVersion(): LanguageVersion; public fetchMoreItems(argument: any, sourceIndex: number, window: number[], destinationIndex: number, spaceAvailable: number): number; private currentCharCode(); public absoluteIndex(): number; public setAbsoluteIndex(index: number): void; public scan(diagnostics: Diagnostic[], allowRegularExpression: boolean): ISyntaxToken; private createToken(fullStart, leadingTriviaInfo, start, kind, end, fullEnd, trailingTriviaInfo, isVariableWidthKeyword); private static triviaWindow; static scanTrivia(text: ISimpleText, start: number, length: number, isTrailing: boolean): ISyntaxTriviaList; private scanTrivia(underlyingText, underlyingTextStart, isTrailing); private scanTriviaInfo(diagnostics, isTrailing); private isNewLineCharacter(ch); private scanWhitespaceTrivia(underlyingText, underlyingTextStart); private scanSingleLineCommentTrivia(underlyingText, underlyingTextStart); private scanSingleLineCommentTriviaLength(); private scanMultiLineCommentTrivia(underlyingText, underlyingTextStart); private scanMultiLineCommentTriviaLength(diagnostics); private scanLineTerminatorSequenceTrivia(ch); private scanLineTerminatorSequenceLength(ch); private scanSyntaxToken(diagnostics, allowRegularExpression); private isIdentifierStart(interpretedChar); private isIdentifierPart(interpretedChar); private tryFastScanIdentifierOrKeyword(firstCharacter); private slowScanIdentifierOrKeyword(diagnostics); private scanNumericLiteral(diagnostics); private isOctalNumericLiteral(); private scanOctalNumericLiteral(diagnostics); private scanDecimalDigits(); private scanDecimalNumericLiteral(); private scanHexNumericLiteral(); private isHexNumericLiteral(); private advanceAndSetTokenKind(kind); private scanLessThanToken(); private scanBarToken(); private scanCaretToken(); private scanAmpersandToken(); private scanPercentToken(); private scanMinusToken(); private scanPlusToken(); private scanAsteriskToken(); private scanEqualsToken(); private isDotPrefixedNumericLiteral(); private scanDotToken(diagnostics); private scanSlashToken(allowRegularExpression); private tryScanRegularExpressionToken(); private scanExclamationToken(); private scanDefaultCharacter(character, diagnostics); private getErrorMessageText(text); private skipEscapeSequence(diagnostics); private scanStringLiteral(diagnostics); private isUnicodeEscape(character); private peekCharOrUnicodeEscape(); private peekUnicodeOrHexEscape(); private scanCharOrUnicodeEscape(errors); private scanUnicodeOrHexEscape(errors); public substring(start: number, end: number, intern: boolean): string; private createIllegalEscapeDiagnostic(start, end); static isValidIdentifier(text: ISimpleText, languageVersion: LanguageVersion): boolean; } } declare module TypeScript { class ScannerUtilities { static identifierKind(array: number[], startIndex: number, length: number): SyntaxKind; } } declare module TypeScript { interface ISeparatedSyntaxList extends ISyntaxElement { childAt(index: number): ISyntaxNodeOrToken; toArray(): ISyntaxNodeOrToken[]; toNonSeparatorArray(): ISyntaxNodeOrToken[]; separatorCount(): number; separatorAt(index: number): ISyntaxToken; nonSeparatorCount(): number; nonSeparatorAt(index: number): ISyntaxNodeOrToken; insertChildrenInto(array: ISyntaxElement[], index: number): void; } } declare module TypeScript.Syntax { var emptySeparatedList: ISeparatedSyntaxList; function separatedList(nodes: ISyntaxNodeOrToken[]): ISeparatedSyntaxList; } declare module TypeScript { interface ISlidingWindowSource { fetchMoreItems(argument: any, sourceIndex: number, window: any[], destinationIndex: number, spaceAvailable: number): number; } class SlidingWindow { private source; public window: any[]; private defaultValue; private sourceLength; public windowCount: number; public windowAbsoluteStartIndex: number; public currentRelativeItemIndex: number; private _pinCount; private firstPinnedAbsoluteIndex; constructor(source: ISlidingWindowSource, window: any[], defaultValue: any, sourceLength?: number); private windowAbsoluteEndIndex(); private addMoreItemsToWindow(argument); private tryShiftOrGrowWindow(); public absoluteIndex(): number; public isAtEndOfSource(): boolean; public getAndPinAbsoluteIndex(): number; public releaseAndUnpinAbsoluteIndex(absoluteIndex: number): void; public rewindToPinnedIndex(absoluteIndex: number): void; public currentItem(argument: any): any; public peekItemN(n: number): any; public moveToNextItem(): void; public disgardAllItemsFromCurrentIndexOnwards(): void; public setAbsoluteIndex(absoluteIndex: number): void; public pinCount(): number; } } declare module TypeScript { } declare module TypeScript.Syntax { function emptySourceUnit(): SourceUnitSyntax; function getStandaloneExpression(positionedToken: PositionedToken): PositionedNodeOrToken; function isInModuleOrTypeContext(positionedToken: PositionedToken): boolean; function isInTypeOnlyContext(positionedToken: PositionedToken): boolean; function childOffset(parent: ISyntaxElement, child: ISyntaxElement): number; function childOffsetAt(parent: ISyntaxElement, index: number): number; function childIndex(parent: ISyntaxElement, child: ISyntaxElement): number; function nodeStructuralEquals(node1: SyntaxNode, node2: SyntaxNode): boolean; function nodeOrTokenStructuralEquals(node1: ISyntaxNodeOrToken, node2: ISyntaxNodeOrToken): boolean; function tokenStructuralEquals(token1: ISyntaxToken, token2: ISyntaxToken): boolean; function triviaListStructuralEquals(triviaList1: ISyntaxTriviaList, triviaList2: ISyntaxTriviaList): boolean; function triviaStructuralEquals(trivia1: ISyntaxTrivia, trivia2: ISyntaxTrivia): boolean; function listStructuralEquals(list1: ISyntaxList, list2: ISyntaxList): boolean; function separatedListStructuralEquals(list1: ISeparatedSyntaxList, list2: ISeparatedSyntaxList): boolean; function elementStructuralEquals(element1: ISyntaxElement, element2: ISyntaxElement): boolean; function identifierName(text: string, info?: ITokenInfo): ISyntaxToken; function trueExpression(): IUnaryExpressionSyntax; function falseExpression(): IUnaryExpressionSyntax; function numericLiteralExpression(text: string): IUnaryExpressionSyntax; function stringLiteralExpression(text: string): IUnaryExpressionSyntax; function isSuperInvocationExpression(node: IExpressionSyntax): boolean; function isSuperInvocationExpressionStatement(node: SyntaxNode): boolean; function isSuperMemberAccessExpression(node: IExpressionSyntax): boolean; function isSuperMemberAccessInvocationExpression(node: SyntaxNode): boolean; function assignmentExpression(left: IExpressionSyntax, token: ISyntaxToken, right: IExpressionSyntax): BinaryExpressionSyntax; function nodeHasSkippedOrMissingTokens(node: SyntaxNode): boolean; function isUnterminatedStringLiteral(token: ISyntaxToken): boolean; function isUnterminatedMultilineCommentTrivia(trivia: ISyntaxTrivia): boolean; function isEntirelyInsideCommentTrivia(trivia: ISyntaxTrivia, fullStart: number, position: number): boolean; function isEntirelyInsideComment(sourceUnit: SourceUnitSyntax, position: number): boolean; function isEntirelyInStringOrRegularExpressionLiteral(sourceUnit: SourceUnitSyntax, position: number): boolean; function findSkippedTokenInLeadingTriviaList(positionedToken: PositionedToken, position: number): PositionedSkippedToken; function findSkippedTokenInTrailingTriviaList(positionedToken: PositionedToken, position: number): PositionedSkippedToken; function findSkippedTokenInPositionedToken(positionedToken: PositionedToken, position: number): PositionedSkippedToken; function findSkippedTokenOnLeft(positionedToken: PositionedToken, position: number): PositionedSkippedToken; function getAncestorOfKind(positionedToken: PositionedElement, kind: SyntaxKind): PositionedElement; function hasAncestorOfKind(positionedToken: PositionedElement, kind: SyntaxKind): boolean; function isIntegerLiteral(expression: IExpressionSyntax): boolean; } declare module TypeScript { interface ISyntaxElement { kind(): SyntaxKind; isNode(): boolean; isToken(): boolean; isList(): boolean; isSeparatedList(): boolean; childCount(): number; childAt(index: number): ISyntaxElement; isTypeScriptSpecific(): boolean; isIncrementallyUnusable(): boolean; fullWidth(): number; width(): number; fullText(): string; leadingTrivia(): ISyntaxTriviaList; trailingTrivia(): ISyntaxTriviaList; leadingTriviaWidth(): number; trailingTriviaWidth(): number; firstToken(): ISyntaxToken; lastToken(): ISyntaxToken; collectTextElements(elements: string[]): void; } interface ISyntaxNode extends ISyntaxNodeOrToken { } interface IModuleReferenceSyntax extends ISyntaxNode { isModuleReference(): boolean; } interface IModuleElementSyntax extends ISyntaxNode { } interface IStatementSyntax extends IModuleElementSyntax { isStatement(): boolean; } interface IIterationStatementSyntax extends IStatementSyntax { isIterationStatement(): boolean; } interface ITypeMemberSyntax extends ISyntaxNode { } interface IClassElementSyntax extends ISyntaxNode { } interface IMemberDeclarationSyntax extends IClassElementSyntax { } interface IPropertyAssignmentSyntax extends IClassElementSyntax { } interface ISwitchClauseSyntax extends ISyntaxNode { isSwitchClause(): boolean; statements: ISyntaxList; } interface IExpressionSyntax extends ISyntaxNodeOrToken { isExpression(): boolean; withLeadingTrivia(trivia: ISyntaxTriviaList): IExpressionSyntax; withTrailingTrivia(trivia: ISyntaxTriviaList): IExpressionSyntax; } interface IUnaryExpressionSyntax extends IExpressionSyntax { isUnaryExpression(): boolean; } interface IArrowFunctionExpressionSyntax extends IUnaryExpressionSyntax { isArrowFunctionExpression(): boolean; equalsGreaterThanToken: ISyntaxToken; block: BlockSyntax; expression: IExpressionSyntax; } interface IPostfixExpressionSyntax extends IUnaryExpressionSyntax { isPostfixExpression(): boolean; } interface IMemberExpressionSyntax extends IPostfixExpressionSyntax { isMemberExpression(): boolean; } interface IPrimaryExpressionSyntax extends IMemberExpressionSyntax { isPrimaryExpression(): boolean; } interface ITypeSyntax extends ISyntaxNodeOrToken { } interface INameSyntax extends ITypeSyntax { } } declare module TypeScript.Syntax { interface IFactory { sourceUnit(moduleElements: ISyntaxList, endOfFileToken: ISyntaxToken): SourceUnitSyntax; externalModuleReference(requireKeyword: ISyntaxToken, openParenToken: ISyntaxToken, stringLiteral: ISyntaxToken, closeParenToken: ISyntaxToken): ExternalModuleReferenceSyntax; moduleNameModuleReference(moduleName: INameSyntax): ModuleNameModuleReferenceSyntax; importDeclaration(modifiers: ISyntaxList, importKeyword: ISyntaxToken, identifier: ISyntaxToken, equalsToken: ISyntaxToken, moduleReference: IModuleReferenceSyntax, semicolonToken: ISyntaxToken): ImportDeclarationSyntax; exportAssignment(exportKeyword: ISyntaxToken, equalsToken: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ExportAssignmentSyntax; classDeclaration(modifiers: ISyntaxList, classKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, openBraceToken: ISyntaxToken, classElements: ISyntaxList, closeBraceToken: ISyntaxToken): ClassDeclarationSyntax; interfaceDeclaration(modifiers: ISyntaxList, interfaceKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, body: ObjectTypeSyntax): InterfaceDeclarationSyntax; heritageClause(kind: SyntaxKind, extendsOrImplementsKeyword: ISyntaxToken, typeNames: ISeparatedSyntaxList): HeritageClauseSyntax; moduleDeclaration(modifiers: ISyntaxList, moduleKeyword: ISyntaxToken, name: INameSyntax, stringLiteral: ISyntaxToken, openBraceToken: ISyntaxToken, moduleElements: ISyntaxList, closeBraceToken: ISyntaxToken): ModuleDeclarationSyntax; functionDeclaration(modifiers: ISyntaxList, functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): FunctionDeclarationSyntax; variableStatement(modifiers: ISyntaxList, variableDeclaration: VariableDeclarationSyntax, semicolonToken: ISyntaxToken): VariableStatementSyntax; variableDeclaration(varKeyword: ISyntaxToken, variableDeclarators: ISeparatedSyntaxList): VariableDeclarationSyntax; variableDeclarator(propertyName: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): VariableDeclaratorSyntax; equalsValueClause(equalsToken: ISyntaxToken, value: IExpressionSyntax): EqualsValueClauseSyntax; prefixUnaryExpression(kind: SyntaxKind, operatorToken: ISyntaxToken, operand: IUnaryExpressionSyntax): PrefixUnaryExpressionSyntax; arrayLiteralExpression(openBracketToken: ISyntaxToken, expressions: ISeparatedSyntaxList, closeBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax; omittedExpression(): OmittedExpressionSyntax; parenthesizedExpression(openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken): ParenthesizedExpressionSyntax; simpleArrowFunctionExpression(identifier: ISyntaxToken, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): SimpleArrowFunctionExpressionSyntax; parenthesizedArrowFunctionExpression(callSignature: CallSignatureSyntax, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): ParenthesizedArrowFunctionExpressionSyntax; qualifiedName(left: INameSyntax, dotToken: ISyntaxToken, right: ISyntaxToken): QualifiedNameSyntax; typeArgumentList(lessThanToken: ISyntaxToken, typeArguments: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeArgumentListSyntax; constructorType(newKeyword: ISyntaxToken, typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): ConstructorTypeSyntax; functionType(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): FunctionTypeSyntax; objectType(openBraceToken: ISyntaxToken, typeMembers: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectTypeSyntax; arrayType(type: ITypeSyntax, openBracketToken: ISyntaxToken, closeBracketToken: ISyntaxToken): ArrayTypeSyntax; genericType(name: INameSyntax, typeArgumentList: TypeArgumentListSyntax): GenericTypeSyntax; typeQuery(typeOfKeyword: ISyntaxToken, name: INameSyntax): TypeQuerySyntax; typeAnnotation(colonToken: ISyntaxToken, type: ITypeSyntax): TypeAnnotationSyntax; block(openBraceToken: ISyntaxToken, statements: ISyntaxList, closeBraceToken: ISyntaxToken): BlockSyntax; parameter(dotDotDotToken: ISyntaxToken, modifiers: ISyntaxList, identifier: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): ParameterSyntax; memberAccessExpression(expression: IExpressionSyntax, dotToken: ISyntaxToken, name: ISyntaxToken): MemberAccessExpressionSyntax; postfixUnaryExpression(kind: SyntaxKind, operand: IMemberExpressionSyntax, operatorToken: ISyntaxToken): PostfixUnaryExpressionSyntax; elementAccessExpression(expression: IExpressionSyntax, openBracketToken: ISyntaxToken, argumentExpression: IExpressionSyntax, closeBracketToken: ISyntaxToken): ElementAccessExpressionSyntax; invocationExpression(expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): InvocationExpressionSyntax; argumentList(typeArgumentList: TypeArgumentListSyntax, openParenToken: ISyntaxToken, arguments: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ArgumentListSyntax; binaryExpression(kind: SyntaxKind, left: IExpressionSyntax, operatorToken: ISyntaxToken, right: IExpressionSyntax): BinaryExpressionSyntax; conditionalExpression(condition: IExpressionSyntax, questionToken: ISyntaxToken, whenTrue: IExpressionSyntax, colonToken: ISyntaxToken, whenFalse: IExpressionSyntax): ConditionalExpressionSyntax; constructSignature(newKeyword: ISyntaxToken, callSignature: CallSignatureSyntax): ConstructSignatureSyntax; methodSignature(propertyName: ISyntaxToken, questionToken: ISyntaxToken, callSignature: CallSignatureSyntax): MethodSignatureSyntax; indexSignature(openBracketToken: ISyntaxToken, parameter: ParameterSyntax, closeBracketToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): IndexSignatureSyntax; propertySignature(propertyName: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): PropertySignatureSyntax; callSignature(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax): CallSignatureSyntax; parameterList(openParenToken: ISyntaxToken, parameters: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ParameterListSyntax; typeParameterList(lessThanToken: ISyntaxToken, typeParameters: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeParameterListSyntax; typeParameter(identifier: ISyntaxToken, constraint: ConstraintSyntax): TypeParameterSyntax; constraint(extendsKeyword: ISyntaxToken, type: ITypeSyntax): ConstraintSyntax; elseClause(elseKeyword: ISyntaxToken, statement: IStatementSyntax): ElseClauseSyntax; ifStatement(ifKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, elseClause: ElseClauseSyntax): IfStatementSyntax; expressionStatement(expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ExpressionStatementSyntax; constructorDeclaration(modifiers: ISyntaxList, constructorKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): ConstructorDeclarationSyntax; memberFunctionDeclaration(modifiers: ISyntaxList, propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): MemberFunctionDeclarationSyntax; getAccessor(modifiers: ISyntaxList, getKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax, block: BlockSyntax): GetAccessorSyntax; setAccessor(modifiers: ISyntaxList, setKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax): SetAccessorSyntax; memberVariableDeclaration(modifiers: ISyntaxList, variableDeclarator: VariableDeclaratorSyntax, semicolonToken: ISyntaxToken): MemberVariableDeclarationSyntax; indexMemberDeclaration(modifiers: ISyntaxList, indexSignature: IndexSignatureSyntax, semicolonToken: ISyntaxToken): IndexMemberDeclarationSyntax; throwStatement(throwKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ThrowStatementSyntax; returnStatement(returnKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ReturnStatementSyntax; objectCreationExpression(newKeyword: ISyntaxToken, expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): ObjectCreationExpressionSyntax; switchStatement(switchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, openBraceToken: ISyntaxToken, switchClauses: ISyntaxList, closeBraceToken: ISyntaxToken): SwitchStatementSyntax; caseSwitchClause(caseKeyword: ISyntaxToken, expression: IExpressionSyntax, colonToken: ISyntaxToken, statements: ISyntaxList): CaseSwitchClauseSyntax; defaultSwitchClause(defaultKeyword: ISyntaxToken, colonToken: ISyntaxToken, statements: ISyntaxList): DefaultSwitchClauseSyntax; breakStatement(breakKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): BreakStatementSyntax; continueStatement(continueKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ContinueStatementSyntax; forStatement(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, initializer: IExpressionSyntax, firstSemicolonToken: ISyntaxToken, condition: IExpressionSyntax, secondSemicolonToken: ISyntaxToken, incrementor: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForStatementSyntax; forInStatement(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, left: IExpressionSyntax, inKeyword: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForInStatementSyntax; whileStatement(whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WhileStatementSyntax; withStatement(withKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WithStatementSyntax; enumDeclaration(modifiers: ISyntaxList, enumKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, enumElements: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): EnumDeclarationSyntax; enumElement(propertyName: ISyntaxToken, equalsValueClause: EqualsValueClauseSyntax): EnumElementSyntax; castExpression(lessThanToken: ISyntaxToken, type: ITypeSyntax, greaterThanToken: ISyntaxToken, expression: IUnaryExpressionSyntax): CastExpressionSyntax; objectLiteralExpression(openBraceToken: ISyntaxToken, propertyAssignments: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax; simplePropertyAssignment(propertyName: ISyntaxToken, colonToken: ISyntaxToken, expression: IExpressionSyntax): SimplePropertyAssignmentSyntax; functionPropertyAssignment(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionPropertyAssignmentSyntax; functionExpression(functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionExpressionSyntax; emptyStatement(semicolonToken: ISyntaxToken): EmptyStatementSyntax; tryStatement(tryKeyword: ISyntaxToken, block: BlockSyntax, catchClause: CatchClauseSyntax, finallyClause: FinallyClauseSyntax): TryStatementSyntax; catchClause(catchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, identifier: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, closeParenToken: ISyntaxToken, block: BlockSyntax): CatchClauseSyntax; finallyClause(finallyKeyword: ISyntaxToken, block: BlockSyntax): FinallyClauseSyntax; labeledStatement(identifier: ISyntaxToken, colonToken: ISyntaxToken, statement: IStatementSyntax): LabeledStatementSyntax; doStatement(doKeyword: ISyntaxToken, statement: IStatementSyntax, whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, semicolonToken: ISyntaxToken): DoStatementSyntax; typeOfExpression(typeOfKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): TypeOfExpressionSyntax; deleteExpression(deleteKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): DeleteExpressionSyntax; voidExpression(voidKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): VoidExpressionSyntax; debuggerStatement(debuggerKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): DebuggerStatementSyntax; } class NormalModeFactory implements IFactory { public sourceUnit(moduleElements: ISyntaxList, endOfFileToken: ISyntaxToken): SourceUnitSyntax; public externalModuleReference(requireKeyword: ISyntaxToken, openParenToken: ISyntaxToken, stringLiteral: ISyntaxToken, closeParenToken: ISyntaxToken): ExternalModuleReferenceSyntax; public moduleNameModuleReference(moduleName: INameSyntax): ModuleNameModuleReferenceSyntax; public importDeclaration(modifiers: ISyntaxList, importKeyword: ISyntaxToken, identifier: ISyntaxToken, equalsToken: ISyntaxToken, moduleReference: IModuleReferenceSyntax, semicolonToken: ISyntaxToken): ImportDeclarationSyntax; public exportAssignment(exportKeyword: ISyntaxToken, equalsToken: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ExportAssignmentSyntax; public classDeclaration(modifiers: ISyntaxList, classKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, openBraceToken: ISyntaxToken, classElements: ISyntaxList, closeBraceToken: ISyntaxToken): ClassDeclarationSyntax; public interfaceDeclaration(modifiers: ISyntaxList, interfaceKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, body: ObjectTypeSyntax): InterfaceDeclarationSyntax; public heritageClause(kind: SyntaxKind, extendsOrImplementsKeyword: ISyntaxToken, typeNames: ISeparatedSyntaxList): HeritageClauseSyntax; public moduleDeclaration(modifiers: ISyntaxList, moduleKeyword: ISyntaxToken, name: INameSyntax, stringLiteral: ISyntaxToken, openBraceToken: ISyntaxToken, moduleElements: ISyntaxList, closeBraceToken: ISyntaxToken): ModuleDeclarationSyntax; public functionDeclaration(modifiers: ISyntaxList, functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): FunctionDeclarationSyntax; public variableStatement(modifiers: ISyntaxList, variableDeclaration: VariableDeclarationSyntax, semicolonToken: ISyntaxToken): VariableStatementSyntax; public variableDeclaration(varKeyword: ISyntaxToken, variableDeclarators: ISeparatedSyntaxList): VariableDeclarationSyntax; public variableDeclarator(propertyName: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): VariableDeclaratorSyntax; public equalsValueClause(equalsToken: ISyntaxToken, value: IExpressionSyntax): EqualsValueClauseSyntax; public prefixUnaryExpression(kind: SyntaxKind, operatorToken: ISyntaxToken, operand: IUnaryExpressionSyntax): PrefixUnaryExpressionSyntax; public arrayLiteralExpression(openBracketToken: ISyntaxToken, expressions: ISeparatedSyntaxList, closeBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax; public omittedExpression(): OmittedExpressionSyntax; public parenthesizedExpression(openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken): ParenthesizedExpressionSyntax; public simpleArrowFunctionExpression(identifier: ISyntaxToken, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): SimpleArrowFunctionExpressionSyntax; public parenthesizedArrowFunctionExpression(callSignature: CallSignatureSyntax, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): ParenthesizedArrowFunctionExpressionSyntax; public qualifiedName(left: INameSyntax, dotToken: ISyntaxToken, right: ISyntaxToken): QualifiedNameSyntax; public typeArgumentList(lessThanToken: ISyntaxToken, typeArguments: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeArgumentListSyntax; public constructorType(newKeyword: ISyntaxToken, typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): ConstructorTypeSyntax; public functionType(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): FunctionTypeSyntax; public objectType(openBraceToken: ISyntaxToken, typeMembers: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectTypeSyntax; public arrayType(type: ITypeSyntax, openBracketToken: ISyntaxToken, closeBracketToken: ISyntaxToken): ArrayTypeSyntax; public genericType(name: INameSyntax, typeArgumentList: TypeArgumentListSyntax): GenericTypeSyntax; public typeQuery(typeOfKeyword: ISyntaxToken, name: INameSyntax): TypeQuerySyntax; public typeAnnotation(colonToken: ISyntaxToken, type: ITypeSyntax): TypeAnnotationSyntax; public block(openBraceToken: ISyntaxToken, statements: ISyntaxList, closeBraceToken: ISyntaxToken): BlockSyntax; public parameter(dotDotDotToken: ISyntaxToken, modifiers: ISyntaxList, identifier: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): ParameterSyntax; public memberAccessExpression(expression: IExpressionSyntax, dotToken: ISyntaxToken, name: ISyntaxToken): MemberAccessExpressionSyntax; public postfixUnaryExpression(kind: SyntaxKind, operand: IMemberExpressionSyntax, operatorToken: ISyntaxToken): PostfixUnaryExpressionSyntax; public elementAccessExpression(expression: IExpressionSyntax, openBracketToken: ISyntaxToken, argumentExpression: IExpressionSyntax, closeBracketToken: ISyntaxToken): ElementAccessExpressionSyntax; public invocationExpression(expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): InvocationExpressionSyntax; public argumentList(typeArgumentList: TypeArgumentListSyntax, openParenToken: ISyntaxToken, _arguments: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ArgumentListSyntax; public binaryExpression(kind: SyntaxKind, left: IExpressionSyntax, operatorToken: ISyntaxToken, right: IExpressionSyntax): BinaryExpressionSyntax; public conditionalExpression(condition: IExpressionSyntax, questionToken: ISyntaxToken, whenTrue: IExpressionSyntax, colonToken: ISyntaxToken, whenFalse: IExpressionSyntax): ConditionalExpressionSyntax; public constructSignature(newKeyword: ISyntaxToken, callSignature: CallSignatureSyntax): ConstructSignatureSyntax; public methodSignature(propertyName: ISyntaxToken, questionToken: ISyntaxToken, callSignature: CallSignatureSyntax): MethodSignatureSyntax; public indexSignature(openBracketToken: ISyntaxToken, parameter: ParameterSyntax, closeBracketToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): IndexSignatureSyntax; public propertySignature(propertyName: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): PropertySignatureSyntax; public callSignature(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax): CallSignatureSyntax; public parameterList(openParenToken: ISyntaxToken, parameters: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ParameterListSyntax; public typeParameterList(lessThanToken: ISyntaxToken, typeParameters: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeParameterListSyntax; public typeParameter(identifier: ISyntaxToken, constraint: ConstraintSyntax): TypeParameterSyntax; public constraint(extendsKeyword: ISyntaxToken, type: ITypeSyntax): ConstraintSyntax; public elseClause(elseKeyword: ISyntaxToken, statement: IStatementSyntax): ElseClauseSyntax; public ifStatement(ifKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, elseClause: ElseClauseSyntax): IfStatementSyntax; public expressionStatement(expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ExpressionStatementSyntax; public constructorDeclaration(modifiers: ISyntaxList, constructorKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): ConstructorDeclarationSyntax; public memberFunctionDeclaration(modifiers: ISyntaxList, propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): MemberFunctionDeclarationSyntax; public getAccessor(modifiers: ISyntaxList, getKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax, block: BlockSyntax): GetAccessorSyntax; public setAccessor(modifiers: ISyntaxList, setKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax): SetAccessorSyntax; public memberVariableDeclaration(modifiers: ISyntaxList, variableDeclarator: VariableDeclaratorSyntax, semicolonToken: ISyntaxToken): MemberVariableDeclarationSyntax; public indexMemberDeclaration(modifiers: ISyntaxList, indexSignature: IndexSignatureSyntax, semicolonToken: ISyntaxToken): IndexMemberDeclarationSyntax; public throwStatement(throwKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ThrowStatementSyntax; public returnStatement(returnKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ReturnStatementSyntax; public objectCreationExpression(newKeyword: ISyntaxToken, expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): ObjectCreationExpressionSyntax; public switchStatement(switchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, openBraceToken: ISyntaxToken, switchClauses: ISyntaxList, closeBraceToken: ISyntaxToken): SwitchStatementSyntax; public caseSwitchClause(caseKeyword: ISyntaxToken, expression: IExpressionSyntax, colonToken: ISyntaxToken, statements: ISyntaxList): CaseSwitchClauseSyntax; public defaultSwitchClause(defaultKeyword: ISyntaxToken, colonToken: ISyntaxToken, statements: ISyntaxList): DefaultSwitchClauseSyntax; public breakStatement(breakKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): BreakStatementSyntax; public continueStatement(continueKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ContinueStatementSyntax; public forStatement(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, initializer: IExpressionSyntax, firstSemicolonToken: ISyntaxToken, condition: IExpressionSyntax, secondSemicolonToken: ISyntaxToken, incrementor: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForStatementSyntax; public forInStatement(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, left: IExpressionSyntax, inKeyword: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForInStatementSyntax; public whileStatement(whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WhileStatementSyntax; public withStatement(withKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WithStatementSyntax; public enumDeclaration(modifiers: ISyntaxList, enumKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, enumElements: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): EnumDeclarationSyntax; public enumElement(propertyName: ISyntaxToken, equalsValueClause: EqualsValueClauseSyntax): EnumElementSyntax; public castExpression(lessThanToken: ISyntaxToken, type: ITypeSyntax, greaterThanToken: ISyntaxToken, expression: IUnaryExpressionSyntax): CastExpressionSyntax; public objectLiteralExpression(openBraceToken: ISyntaxToken, propertyAssignments: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax; public simplePropertyAssignment(propertyName: ISyntaxToken, colonToken: ISyntaxToken, expression: IExpressionSyntax): SimplePropertyAssignmentSyntax; public functionPropertyAssignment(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionPropertyAssignmentSyntax; public functionExpression(functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionExpressionSyntax; public emptyStatement(semicolonToken: ISyntaxToken): EmptyStatementSyntax; public tryStatement(tryKeyword: ISyntaxToken, block: BlockSyntax, catchClause: CatchClauseSyntax, finallyClause: FinallyClauseSyntax): TryStatementSyntax; public catchClause(catchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, identifier: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, closeParenToken: ISyntaxToken, block: BlockSyntax): CatchClauseSyntax; public finallyClause(finallyKeyword: ISyntaxToken, block: BlockSyntax): FinallyClauseSyntax; public labeledStatement(identifier: ISyntaxToken, colonToken: ISyntaxToken, statement: IStatementSyntax): LabeledStatementSyntax; public doStatement(doKeyword: ISyntaxToken, statement: IStatementSyntax, whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, semicolonToken: ISyntaxToken): DoStatementSyntax; public typeOfExpression(typeOfKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): TypeOfExpressionSyntax; public deleteExpression(deleteKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): DeleteExpressionSyntax; public voidExpression(voidKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): VoidExpressionSyntax; public debuggerStatement(debuggerKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): DebuggerStatementSyntax; } class StrictModeFactory implements IFactory { public sourceUnit(moduleElements: ISyntaxList, endOfFileToken: ISyntaxToken): SourceUnitSyntax; public externalModuleReference(requireKeyword: ISyntaxToken, openParenToken: ISyntaxToken, stringLiteral: ISyntaxToken, closeParenToken: ISyntaxToken): ExternalModuleReferenceSyntax; public moduleNameModuleReference(moduleName: INameSyntax): ModuleNameModuleReferenceSyntax; public importDeclaration(modifiers: ISyntaxList, importKeyword: ISyntaxToken, identifier: ISyntaxToken, equalsToken: ISyntaxToken, moduleReference: IModuleReferenceSyntax, semicolonToken: ISyntaxToken): ImportDeclarationSyntax; public exportAssignment(exportKeyword: ISyntaxToken, equalsToken: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ExportAssignmentSyntax; public classDeclaration(modifiers: ISyntaxList, classKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, openBraceToken: ISyntaxToken, classElements: ISyntaxList, closeBraceToken: ISyntaxToken): ClassDeclarationSyntax; public interfaceDeclaration(modifiers: ISyntaxList, interfaceKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, body: ObjectTypeSyntax): InterfaceDeclarationSyntax; public heritageClause(kind: SyntaxKind, extendsOrImplementsKeyword: ISyntaxToken, typeNames: ISeparatedSyntaxList): HeritageClauseSyntax; public moduleDeclaration(modifiers: ISyntaxList, moduleKeyword: ISyntaxToken, name: INameSyntax, stringLiteral: ISyntaxToken, openBraceToken: ISyntaxToken, moduleElements: ISyntaxList, closeBraceToken: ISyntaxToken): ModuleDeclarationSyntax; public functionDeclaration(modifiers: ISyntaxList, functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): FunctionDeclarationSyntax; public variableStatement(modifiers: ISyntaxList, variableDeclaration: VariableDeclarationSyntax, semicolonToken: ISyntaxToken): VariableStatementSyntax; public variableDeclaration(varKeyword: ISyntaxToken, variableDeclarators: ISeparatedSyntaxList): VariableDeclarationSyntax; public variableDeclarator(propertyName: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): VariableDeclaratorSyntax; public equalsValueClause(equalsToken: ISyntaxToken, value: IExpressionSyntax): EqualsValueClauseSyntax; public prefixUnaryExpression(kind: SyntaxKind, operatorToken: ISyntaxToken, operand: IUnaryExpressionSyntax): PrefixUnaryExpressionSyntax; public arrayLiteralExpression(openBracketToken: ISyntaxToken, expressions: ISeparatedSyntaxList, closeBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax; public omittedExpression(): OmittedExpressionSyntax; public parenthesizedExpression(openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken): ParenthesizedExpressionSyntax; public simpleArrowFunctionExpression(identifier: ISyntaxToken, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): SimpleArrowFunctionExpressionSyntax; public parenthesizedArrowFunctionExpression(callSignature: CallSignatureSyntax, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): ParenthesizedArrowFunctionExpressionSyntax; public qualifiedName(left: INameSyntax, dotToken: ISyntaxToken, right: ISyntaxToken): QualifiedNameSyntax; public typeArgumentList(lessThanToken: ISyntaxToken, typeArguments: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeArgumentListSyntax; public constructorType(newKeyword: ISyntaxToken, typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): ConstructorTypeSyntax; public functionType(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): FunctionTypeSyntax; public objectType(openBraceToken: ISyntaxToken, typeMembers: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectTypeSyntax; public arrayType(type: ITypeSyntax, openBracketToken: ISyntaxToken, closeBracketToken: ISyntaxToken): ArrayTypeSyntax; public genericType(name: INameSyntax, typeArgumentList: TypeArgumentListSyntax): GenericTypeSyntax; public typeQuery(typeOfKeyword: ISyntaxToken, name: INameSyntax): TypeQuerySyntax; public typeAnnotation(colonToken: ISyntaxToken, type: ITypeSyntax): TypeAnnotationSyntax; public block(openBraceToken: ISyntaxToken, statements: ISyntaxList, closeBraceToken: ISyntaxToken): BlockSyntax; public parameter(dotDotDotToken: ISyntaxToken, modifiers: ISyntaxList, identifier: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): ParameterSyntax; public memberAccessExpression(expression: IExpressionSyntax, dotToken: ISyntaxToken, name: ISyntaxToken): MemberAccessExpressionSyntax; public postfixUnaryExpression(kind: SyntaxKind, operand: IMemberExpressionSyntax, operatorToken: ISyntaxToken): PostfixUnaryExpressionSyntax; public elementAccessExpression(expression: IExpressionSyntax, openBracketToken: ISyntaxToken, argumentExpression: IExpressionSyntax, closeBracketToken: ISyntaxToken): ElementAccessExpressionSyntax; public invocationExpression(expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): InvocationExpressionSyntax; public argumentList(typeArgumentList: TypeArgumentListSyntax, openParenToken: ISyntaxToken, _arguments: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ArgumentListSyntax; public binaryExpression(kind: SyntaxKind, left: IExpressionSyntax, operatorToken: ISyntaxToken, right: IExpressionSyntax): BinaryExpressionSyntax; public conditionalExpression(condition: IExpressionSyntax, questionToken: ISyntaxToken, whenTrue: IExpressionSyntax, colonToken: ISyntaxToken, whenFalse: IExpressionSyntax): ConditionalExpressionSyntax; public constructSignature(newKeyword: ISyntaxToken, callSignature: CallSignatureSyntax): ConstructSignatureSyntax; public methodSignature(propertyName: ISyntaxToken, questionToken: ISyntaxToken, callSignature: CallSignatureSyntax): MethodSignatureSyntax; public indexSignature(openBracketToken: ISyntaxToken, parameter: ParameterSyntax, closeBracketToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): IndexSignatureSyntax; public propertySignature(propertyName: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): PropertySignatureSyntax; public callSignature(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax): CallSignatureSyntax; public parameterList(openParenToken: ISyntaxToken, parameters: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ParameterListSyntax; public typeParameterList(lessThanToken: ISyntaxToken, typeParameters: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeParameterListSyntax; public typeParameter(identifier: ISyntaxToken, constraint: ConstraintSyntax): TypeParameterSyntax; public constraint(extendsKeyword: ISyntaxToken, type: ITypeSyntax): ConstraintSyntax; public elseClause(elseKeyword: ISyntaxToken, statement: IStatementSyntax): ElseClauseSyntax; public ifStatement(ifKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, elseClause: ElseClauseSyntax): IfStatementSyntax; public expressionStatement(expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ExpressionStatementSyntax; public constructorDeclaration(modifiers: ISyntaxList, constructorKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): ConstructorDeclarationSyntax; public memberFunctionDeclaration(modifiers: ISyntaxList, propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): MemberFunctionDeclarationSyntax; public getAccessor(modifiers: ISyntaxList, getKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax, block: BlockSyntax): GetAccessorSyntax; public setAccessor(modifiers: ISyntaxList, setKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax): SetAccessorSyntax; public memberVariableDeclaration(modifiers: ISyntaxList, variableDeclarator: VariableDeclaratorSyntax, semicolonToken: ISyntaxToken): MemberVariableDeclarationSyntax; public indexMemberDeclaration(modifiers: ISyntaxList, indexSignature: IndexSignatureSyntax, semicolonToken: ISyntaxToken): IndexMemberDeclarationSyntax; public throwStatement(throwKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ThrowStatementSyntax; public returnStatement(returnKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ReturnStatementSyntax; public objectCreationExpression(newKeyword: ISyntaxToken, expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): ObjectCreationExpressionSyntax; public switchStatement(switchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, openBraceToken: ISyntaxToken, switchClauses: ISyntaxList, closeBraceToken: ISyntaxToken): SwitchStatementSyntax; public caseSwitchClause(caseKeyword: ISyntaxToken, expression: IExpressionSyntax, colonToken: ISyntaxToken, statements: ISyntaxList): CaseSwitchClauseSyntax; public defaultSwitchClause(defaultKeyword: ISyntaxToken, colonToken: ISyntaxToken, statements: ISyntaxList): DefaultSwitchClauseSyntax; public breakStatement(breakKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): BreakStatementSyntax; public continueStatement(continueKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ContinueStatementSyntax; public forStatement(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, initializer: IExpressionSyntax, firstSemicolonToken: ISyntaxToken, condition: IExpressionSyntax, secondSemicolonToken: ISyntaxToken, incrementor: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForStatementSyntax; public forInStatement(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, left: IExpressionSyntax, inKeyword: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForInStatementSyntax; public whileStatement(whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WhileStatementSyntax; public withStatement(withKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WithStatementSyntax; public enumDeclaration(modifiers: ISyntaxList, enumKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, enumElements: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): EnumDeclarationSyntax; public enumElement(propertyName: ISyntaxToken, equalsValueClause: EqualsValueClauseSyntax): EnumElementSyntax; public castExpression(lessThanToken: ISyntaxToken, type: ITypeSyntax, greaterThanToken: ISyntaxToken, expression: IUnaryExpressionSyntax): CastExpressionSyntax; public objectLiteralExpression(openBraceToken: ISyntaxToken, propertyAssignments: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax; public simplePropertyAssignment(propertyName: ISyntaxToken, colonToken: ISyntaxToken, expression: IExpressionSyntax): SimplePropertyAssignmentSyntax; public functionPropertyAssignment(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionPropertyAssignmentSyntax; public functionExpression(functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionExpressionSyntax; public emptyStatement(semicolonToken: ISyntaxToken): EmptyStatementSyntax; public tryStatement(tryKeyword: ISyntaxToken, block: BlockSyntax, catchClause: CatchClauseSyntax, finallyClause: FinallyClauseSyntax): TryStatementSyntax; public catchClause(catchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, identifier: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, closeParenToken: ISyntaxToken, block: BlockSyntax): CatchClauseSyntax; public finallyClause(finallyKeyword: ISyntaxToken, block: BlockSyntax): FinallyClauseSyntax; public labeledStatement(identifier: ISyntaxToken, colonToken: ISyntaxToken, statement: IStatementSyntax): LabeledStatementSyntax; public doStatement(doKeyword: ISyntaxToken, statement: IStatementSyntax, whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, semicolonToken: ISyntaxToken): DoStatementSyntax; public typeOfExpression(typeOfKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): TypeOfExpressionSyntax; public deleteExpression(deleteKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): DeleteExpressionSyntax; public voidExpression(voidKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): VoidExpressionSyntax; public debuggerStatement(debuggerKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): DebuggerStatementSyntax; } var normalModeFactory: IFactory; var strictModeFactory: IFactory; } declare module TypeScript.SyntaxFacts { function isDirectivePrologueElement(node: ISyntaxNodeOrToken): boolean; function isUseStrictDirective(node: ISyntaxNodeOrToken): boolean; function isIdentifierNameOrAnyKeyword(token: ISyntaxToken): boolean; } declare module TypeScript { interface ISyntaxList extends ISyntaxElement { childAt(index: number): ISyntaxNodeOrToken; toArray(): ISyntaxNodeOrToken[]; insertChildrenInto(array: ISyntaxElement[], index: number): void; } } declare module TypeScript.Syntax { class EmptySyntaxList implements ISyntaxList { public kind(): SyntaxKind; public isNode(): boolean; public isToken(): boolean; public isList(): boolean; public isSeparatedList(): boolean; public toJSON(key: any): any; public childCount(): number; public childAt(index: number): ISyntaxNodeOrToken; public toArray(): ISyntaxNodeOrToken[]; public collectTextElements(elements: string[]): void; public firstToken(): ISyntaxToken; public lastToken(): ISyntaxToken; public fullWidth(): number; public width(): number; public leadingTrivia(): ISyntaxTriviaList; public trailingTrivia(): ISyntaxTriviaList; public leadingTriviaWidth(): number; public trailingTriviaWidth(): number; public fullText(): string; public isTypeScriptSpecific(): boolean; public isIncrementallyUnusable(): boolean; public findTokenInternal(parent: PositionedElement, position: number, fullStart: number): PositionedToken; public insertChildrenInto(array: ISyntaxElement[], index: number): void; } var emptyList: ISyntaxList; function list(nodes: ISyntaxNodeOrToken[]): ISyntaxList; } declare module TypeScript { class SyntaxNode implements ISyntaxNodeOrToken { private _data; constructor(parsedInStrictMode: boolean); public isNode(): boolean; public isToken(): boolean; public isList(): boolean; public isSeparatedList(): boolean; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public firstToken(): ISyntaxToken; public lastToken(): ISyntaxToken; public insertChildrenInto(array: ISyntaxElement[], index: number): void; public leadingTrivia(): ISyntaxTriviaList; public trailingTrivia(): ISyntaxTriviaList; public toJSON(key: any): any; public accept(visitor: ISyntaxVisitor): any; public fullText(): string; public collectTextElements(elements: string[]): void; public replaceToken(token1: ISyntaxToken, token2: ISyntaxToken): SyntaxNode; public withLeadingTrivia(trivia: ISyntaxTriviaList): SyntaxNode; public withTrailingTrivia(trivia: ISyntaxTriviaList): SyntaxNode; public hasLeadingTrivia(): boolean; public hasTrailingTrivia(): boolean; public isTypeScriptSpecific(): boolean; public isIncrementallyUnusable(): boolean; public parsedInStrictMode(): boolean; public fullWidth(): number; private computeData(); private data(); public findToken(position: number, includeSkippedTokens?: boolean): PositionedToken; private tryGetEndOfFileAt(position); private findTokenInternal(parent, position, fullStart); public findTokenOnLeft(position: number, includeSkippedTokens?: boolean): PositionedToken; public findCompleteTokenOnLeft(position: number, includeSkippedTokens?: boolean): PositionedToken; public isModuleElement(): boolean; public isClassElement(): boolean; public isTypeMember(): boolean; public isStatement(): boolean; public isExpression(): boolean; public isSwitchClause(): boolean; public structuralEquals(node: SyntaxNode): boolean; public width(): number; public leadingTriviaWidth(): number; public trailingTriviaWidth(): number; } } declare module TypeScript { interface ISyntaxNodeOrToken extends ISyntaxElement { withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxNodeOrToken; withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxNodeOrToken; accept(visitor: ISyntaxVisitor): any; } } declare module TypeScript { class SourceUnitSyntax extends SyntaxNode { public moduleElements: ISyntaxList; public endOfFileToken: ISyntaxToken; constructor(moduleElements: ISyntaxList, endOfFileToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public update(moduleElements: ISyntaxList, endOfFileToken: ISyntaxToken): SourceUnitSyntax; static create(endOfFileToken: ISyntaxToken): SourceUnitSyntax; static create1(endOfFileToken: ISyntaxToken): SourceUnitSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): SourceUnitSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): SourceUnitSyntax; public withModuleElements(moduleElements: ISyntaxList): SourceUnitSyntax; public withModuleElement(moduleElement: IModuleElementSyntax): SourceUnitSyntax; public withEndOfFileToken(endOfFileToken: ISyntaxToken): SourceUnitSyntax; public isTypeScriptSpecific(): boolean; } class ExternalModuleReferenceSyntax extends SyntaxNode implements IModuleReferenceSyntax { public requireKeyword: ISyntaxToken; public openParenToken: ISyntaxToken; public stringLiteral: ISyntaxToken; public closeParenToken: ISyntaxToken; constructor(requireKeyword: ISyntaxToken, openParenToken: ISyntaxToken, stringLiteral: ISyntaxToken, closeParenToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isModuleReference(): boolean; public update(requireKeyword: ISyntaxToken, openParenToken: ISyntaxToken, stringLiteral: ISyntaxToken, closeParenToken: ISyntaxToken): ExternalModuleReferenceSyntax; static create1(stringLiteral: ISyntaxToken): ExternalModuleReferenceSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ExternalModuleReferenceSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ExternalModuleReferenceSyntax; public withRequireKeyword(requireKeyword: ISyntaxToken): ExternalModuleReferenceSyntax; public withOpenParenToken(openParenToken: ISyntaxToken): ExternalModuleReferenceSyntax; public withStringLiteral(stringLiteral: ISyntaxToken): ExternalModuleReferenceSyntax; public withCloseParenToken(closeParenToken: ISyntaxToken): ExternalModuleReferenceSyntax; public isTypeScriptSpecific(): boolean; } class ModuleNameModuleReferenceSyntax extends SyntaxNode implements IModuleReferenceSyntax { public moduleName: INameSyntax; constructor(moduleName: INameSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isModuleReference(): boolean; public update(moduleName: INameSyntax): ModuleNameModuleReferenceSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ModuleNameModuleReferenceSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ModuleNameModuleReferenceSyntax; public withModuleName(moduleName: INameSyntax): ModuleNameModuleReferenceSyntax; public isTypeScriptSpecific(): boolean; } class ImportDeclarationSyntax extends SyntaxNode implements IModuleElementSyntax { public modifiers: ISyntaxList; public importKeyword: ISyntaxToken; public identifier: ISyntaxToken; public equalsToken: ISyntaxToken; public moduleReference: IModuleReferenceSyntax; public semicolonToken: ISyntaxToken; constructor(modifiers: ISyntaxList, importKeyword: ISyntaxToken, identifier: ISyntaxToken, equalsToken: ISyntaxToken, moduleReference: IModuleReferenceSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isModuleElement(): boolean; public update(modifiers: ISyntaxList, importKeyword: ISyntaxToken, identifier: ISyntaxToken, equalsToken: ISyntaxToken, moduleReference: IModuleReferenceSyntax, semicolonToken: ISyntaxToken): ImportDeclarationSyntax; static create(importKeyword: ISyntaxToken, identifier: ISyntaxToken, equalsToken: ISyntaxToken, moduleReference: IModuleReferenceSyntax, semicolonToken: ISyntaxToken): ImportDeclarationSyntax; static create1(identifier: ISyntaxToken, moduleReference: IModuleReferenceSyntax): ImportDeclarationSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ImportDeclarationSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ImportDeclarationSyntax; public withModifiers(modifiers: ISyntaxList): ImportDeclarationSyntax; public withModifier(modifier: ISyntaxToken): ImportDeclarationSyntax; public withImportKeyword(importKeyword: ISyntaxToken): ImportDeclarationSyntax; public withIdentifier(identifier: ISyntaxToken): ImportDeclarationSyntax; public withEqualsToken(equalsToken: ISyntaxToken): ImportDeclarationSyntax; public withModuleReference(moduleReference: IModuleReferenceSyntax): ImportDeclarationSyntax; public withSemicolonToken(semicolonToken: ISyntaxToken): ImportDeclarationSyntax; public isTypeScriptSpecific(): boolean; } class ExportAssignmentSyntax extends SyntaxNode implements IModuleElementSyntax { public exportKeyword: ISyntaxToken; public equalsToken: ISyntaxToken; public identifier: ISyntaxToken; public semicolonToken: ISyntaxToken; constructor(exportKeyword: ISyntaxToken, equalsToken: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isModuleElement(): boolean; public update(exportKeyword: ISyntaxToken, equalsToken: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ExportAssignmentSyntax; static create1(identifier: ISyntaxToken): ExportAssignmentSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ExportAssignmentSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ExportAssignmentSyntax; public withExportKeyword(exportKeyword: ISyntaxToken): ExportAssignmentSyntax; public withEqualsToken(equalsToken: ISyntaxToken): ExportAssignmentSyntax; public withIdentifier(identifier: ISyntaxToken): ExportAssignmentSyntax; public withSemicolonToken(semicolonToken: ISyntaxToken): ExportAssignmentSyntax; public isTypeScriptSpecific(): boolean; } class ClassDeclarationSyntax extends SyntaxNode implements IModuleElementSyntax { public modifiers: ISyntaxList; public classKeyword: ISyntaxToken; public identifier: ISyntaxToken; public typeParameterList: TypeParameterListSyntax; public heritageClauses: ISyntaxList; public openBraceToken: ISyntaxToken; public classElements: ISyntaxList; public closeBraceToken: ISyntaxToken; constructor(modifiers: ISyntaxList, classKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, openBraceToken: ISyntaxToken, classElements: ISyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isModuleElement(): boolean; public update(modifiers: ISyntaxList, classKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, openBraceToken: ISyntaxToken, classElements: ISyntaxList, closeBraceToken: ISyntaxToken): ClassDeclarationSyntax; static create(classKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): ClassDeclarationSyntax; static create1(identifier: ISyntaxToken): ClassDeclarationSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ClassDeclarationSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ClassDeclarationSyntax; public withModifiers(modifiers: ISyntaxList): ClassDeclarationSyntax; public withModifier(modifier: ISyntaxToken): ClassDeclarationSyntax; public withClassKeyword(classKeyword: ISyntaxToken): ClassDeclarationSyntax; public withIdentifier(identifier: ISyntaxToken): ClassDeclarationSyntax; public withTypeParameterList(typeParameterList: TypeParameterListSyntax): ClassDeclarationSyntax; public withHeritageClauses(heritageClauses: ISyntaxList): ClassDeclarationSyntax; public withHeritageClause(heritageClause: HeritageClauseSyntax): ClassDeclarationSyntax; public withOpenBraceToken(openBraceToken: ISyntaxToken): ClassDeclarationSyntax; public withClassElements(classElements: ISyntaxList): ClassDeclarationSyntax; public withClassElement(classElement: IClassElementSyntax): ClassDeclarationSyntax; public withCloseBraceToken(closeBraceToken: ISyntaxToken): ClassDeclarationSyntax; public isTypeScriptSpecific(): boolean; } class InterfaceDeclarationSyntax extends SyntaxNode implements IModuleElementSyntax { public modifiers: ISyntaxList; public interfaceKeyword: ISyntaxToken; public identifier: ISyntaxToken; public typeParameterList: TypeParameterListSyntax; public heritageClauses: ISyntaxList; public body: ObjectTypeSyntax; constructor(modifiers: ISyntaxList, interfaceKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, body: ObjectTypeSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isModuleElement(): boolean; public update(modifiers: ISyntaxList, interfaceKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, body: ObjectTypeSyntax): InterfaceDeclarationSyntax; static create(interfaceKeyword: ISyntaxToken, identifier: ISyntaxToken, body: ObjectTypeSyntax): InterfaceDeclarationSyntax; static create1(identifier: ISyntaxToken): InterfaceDeclarationSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): InterfaceDeclarationSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): InterfaceDeclarationSyntax; public withModifiers(modifiers: ISyntaxList): InterfaceDeclarationSyntax; public withModifier(modifier: ISyntaxToken): InterfaceDeclarationSyntax; public withInterfaceKeyword(interfaceKeyword: ISyntaxToken): InterfaceDeclarationSyntax; public withIdentifier(identifier: ISyntaxToken): InterfaceDeclarationSyntax; public withTypeParameterList(typeParameterList: TypeParameterListSyntax): InterfaceDeclarationSyntax; public withHeritageClauses(heritageClauses: ISyntaxList): InterfaceDeclarationSyntax; public withHeritageClause(heritageClause: HeritageClauseSyntax): InterfaceDeclarationSyntax; public withBody(body: ObjectTypeSyntax): InterfaceDeclarationSyntax; public isTypeScriptSpecific(): boolean; } class HeritageClauseSyntax extends SyntaxNode { public extendsOrImplementsKeyword: ISyntaxToken; public typeNames: ISeparatedSyntaxList; private _kind; constructor(kind: SyntaxKind, extendsOrImplementsKeyword: ISyntaxToken, typeNames: ISeparatedSyntaxList, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public childCount(): number; public childAt(slot: number): ISyntaxElement; public kind(): SyntaxKind; public update(kind: SyntaxKind, extendsOrImplementsKeyword: ISyntaxToken, typeNames: ISeparatedSyntaxList): HeritageClauseSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): HeritageClauseSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): HeritageClauseSyntax; public withKind(kind: SyntaxKind): HeritageClauseSyntax; public withExtendsOrImplementsKeyword(extendsOrImplementsKeyword: ISyntaxToken): HeritageClauseSyntax; public withTypeNames(typeNames: ISeparatedSyntaxList): HeritageClauseSyntax; public withTypeName(typeName: INameSyntax): HeritageClauseSyntax; public isTypeScriptSpecific(): boolean; } class ModuleDeclarationSyntax extends SyntaxNode implements IModuleElementSyntax { public modifiers: ISyntaxList; public moduleKeyword: ISyntaxToken; public name: INameSyntax; public stringLiteral: ISyntaxToken; public openBraceToken: ISyntaxToken; public moduleElements: ISyntaxList; public closeBraceToken: ISyntaxToken; constructor(modifiers: ISyntaxList, moduleKeyword: ISyntaxToken, name: INameSyntax, stringLiteral: ISyntaxToken, openBraceToken: ISyntaxToken, moduleElements: ISyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isModuleElement(): boolean; public update(modifiers: ISyntaxList, moduleKeyword: ISyntaxToken, name: INameSyntax, stringLiteral: ISyntaxToken, openBraceToken: ISyntaxToken, moduleElements: ISyntaxList, closeBraceToken: ISyntaxToken): ModuleDeclarationSyntax; static create(moduleKeyword: ISyntaxToken, openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): ModuleDeclarationSyntax; static create1(): ModuleDeclarationSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ModuleDeclarationSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ModuleDeclarationSyntax; public withModifiers(modifiers: ISyntaxList): ModuleDeclarationSyntax; public withModifier(modifier: ISyntaxToken): ModuleDeclarationSyntax; public withModuleKeyword(moduleKeyword: ISyntaxToken): ModuleDeclarationSyntax; public withName(name: INameSyntax): ModuleDeclarationSyntax; public withStringLiteral(stringLiteral: ISyntaxToken): ModuleDeclarationSyntax; public withOpenBraceToken(openBraceToken: ISyntaxToken): ModuleDeclarationSyntax; public withModuleElements(moduleElements: ISyntaxList): ModuleDeclarationSyntax; public withModuleElement(moduleElement: IModuleElementSyntax): ModuleDeclarationSyntax; public withCloseBraceToken(closeBraceToken: ISyntaxToken): ModuleDeclarationSyntax; public isTypeScriptSpecific(): boolean; } class FunctionDeclarationSyntax extends SyntaxNode implements IStatementSyntax { public modifiers: ISyntaxList; public functionKeyword: ISyntaxToken; public identifier: ISyntaxToken; public callSignature: CallSignatureSyntax; public block: BlockSyntax; public semicolonToken: ISyntaxToken; constructor(modifiers: ISyntaxList, functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isStatement(): boolean; public isModuleElement(): boolean; public update(modifiers: ISyntaxList, functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): FunctionDeclarationSyntax; static create(functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax): FunctionDeclarationSyntax; static create1(identifier: ISyntaxToken): FunctionDeclarationSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): FunctionDeclarationSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): FunctionDeclarationSyntax; public withModifiers(modifiers: ISyntaxList): FunctionDeclarationSyntax; public withModifier(modifier: ISyntaxToken): FunctionDeclarationSyntax; public withFunctionKeyword(functionKeyword: ISyntaxToken): FunctionDeclarationSyntax; public withIdentifier(identifier: ISyntaxToken): FunctionDeclarationSyntax; public withCallSignature(callSignature: CallSignatureSyntax): FunctionDeclarationSyntax; public withBlock(block: BlockSyntax): FunctionDeclarationSyntax; public withSemicolonToken(semicolonToken: ISyntaxToken): FunctionDeclarationSyntax; public isTypeScriptSpecific(): boolean; } class VariableStatementSyntax extends SyntaxNode implements IStatementSyntax { public modifiers: ISyntaxList; public variableDeclaration: VariableDeclarationSyntax; public semicolonToken: ISyntaxToken; constructor(modifiers: ISyntaxList, variableDeclaration: VariableDeclarationSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isStatement(): boolean; public isModuleElement(): boolean; public update(modifiers: ISyntaxList, variableDeclaration: VariableDeclarationSyntax, semicolonToken: ISyntaxToken): VariableStatementSyntax; static create(variableDeclaration: VariableDeclarationSyntax, semicolonToken: ISyntaxToken): VariableStatementSyntax; static create1(variableDeclaration: VariableDeclarationSyntax): VariableStatementSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): VariableStatementSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): VariableStatementSyntax; public withModifiers(modifiers: ISyntaxList): VariableStatementSyntax; public withModifier(modifier: ISyntaxToken): VariableStatementSyntax; public withVariableDeclaration(variableDeclaration: VariableDeclarationSyntax): VariableStatementSyntax; public withSemicolonToken(semicolonToken: ISyntaxToken): VariableStatementSyntax; public isTypeScriptSpecific(): boolean; } class VariableDeclarationSyntax extends SyntaxNode { public varKeyword: ISyntaxToken; public variableDeclarators: ISeparatedSyntaxList; constructor(varKeyword: ISyntaxToken, variableDeclarators: ISeparatedSyntaxList, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public update(varKeyword: ISyntaxToken, variableDeclarators: ISeparatedSyntaxList): VariableDeclarationSyntax; static create1(variableDeclarators: ISeparatedSyntaxList): VariableDeclarationSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): VariableDeclarationSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): VariableDeclarationSyntax; public withVarKeyword(varKeyword: ISyntaxToken): VariableDeclarationSyntax; public withVariableDeclarators(variableDeclarators: ISeparatedSyntaxList): VariableDeclarationSyntax; public withVariableDeclarator(variableDeclarator: VariableDeclaratorSyntax): VariableDeclarationSyntax; public isTypeScriptSpecific(): boolean; } class VariableDeclaratorSyntax extends SyntaxNode { public propertyName: ISyntaxToken; public typeAnnotation: TypeAnnotationSyntax; public equalsValueClause: EqualsValueClauseSyntax; constructor(propertyName: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public update(propertyName: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): VariableDeclaratorSyntax; static create(propertyName: ISyntaxToken): VariableDeclaratorSyntax; static create1(propertyName: ISyntaxToken): VariableDeclaratorSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): VariableDeclaratorSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): VariableDeclaratorSyntax; public withPropertyName(propertyName: ISyntaxToken): VariableDeclaratorSyntax; public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): VariableDeclaratorSyntax; public withEqualsValueClause(equalsValueClause: EqualsValueClauseSyntax): VariableDeclaratorSyntax; public isTypeScriptSpecific(): boolean; } class EqualsValueClauseSyntax extends SyntaxNode { public equalsToken: ISyntaxToken; public value: IExpressionSyntax; constructor(equalsToken: ISyntaxToken, value: IExpressionSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public update(equalsToken: ISyntaxToken, value: IExpressionSyntax): EqualsValueClauseSyntax; static create1(value: IExpressionSyntax): EqualsValueClauseSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): EqualsValueClauseSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): EqualsValueClauseSyntax; public withEqualsToken(equalsToken: ISyntaxToken): EqualsValueClauseSyntax; public withValue(value: IExpressionSyntax): EqualsValueClauseSyntax; public isTypeScriptSpecific(): boolean; } class PrefixUnaryExpressionSyntax extends SyntaxNode implements IUnaryExpressionSyntax { public operatorToken: ISyntaxToken; public operand: IUnaryExpressionSyntax; private _kind; constructor(kind: SyntaxKind, operatorToken: ISyntaxToken, operand: IUnaryExpressionSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isUnaryExpression(): boolean; public isExpression(): boolean; public kind(): SyntaxKind; public update(kind: SyntaxKind, operatorToken: ISyntaxToken, operand: IUnaryExpressionSyntax): PrefixUnaryExpressionSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): PrefixUnaryExpressionSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): PrefixUnaryExpressionSyntax; public withKind(kind: SyntaxKind): PrefixUnaryExpressionSyntax; public withOperatorToken(operatorToken: ISyntaxToken): PrefixUnaryExpressionSyntax; public withOperand(operand: IUnaryExpressionSyntax): PrefixUnaryExpressionSyntax; public isTypeScriptSpecific(): boolean; } class ArrayLiteralExpressionSyntax extends SyntaxNode implements IPrimaryExpressionSyntax { public openBracketToken: ISyntaxToken; public expressions: ISeparatedSyntaxList; public closeBracketToken: ISyntaxToken; constructor(openBracketToken: ISyntaxToken, expressions: ISeparatedSyntaxList, closeBracketToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isPrimaryExpression(): boolean; public isMemberExpression(): boolean; public isPostfixExpression(): boolean; public isUnaryExpression(): boolean; public isExpression(): boolean; public update(openBracketToken: ISyntaxToken, expressions: ISeparatedSyntaxList, closeBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax; static create(openBracketToken: ISyntaxToken, closeBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax; static create1(): ArrayLiteralExpressionSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ArrayLiteralExpressionSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ArrayLiteralExpressionSyntax; public withOpenBracketToken(openBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax; public withExpressions(expressions: ISeparatedSyntaxList): ArrayLiteralExpressionSyntax; public withExpression(expression: IExpressionSyntax): ArrayLiteralExpressionSyntax; public withCloseBracketToken(closeBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax; public isTypeScriptSpecific(): boolean; } class OmittedExpressionSyntax extends SyntaxNode implements IExpressionSyntax { constructor(parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isExpression(): boolean; public update(): OmittedExpressionSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): OmittedExpressionSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): OmittedExpressionSyntax; public isTypeScriptSpecific(): boolean; } class ParenthesizedExpressionSyntax extends SyntaxNode implements IPrimaryExpressionSyntax { public openParenToken: ISyntaxToken; public expression: IExpressionSyntax; public closeParenToken: ISyntaxToken; constructor(openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isPrimaryExpression(): boolean; public isMemberExpression(): boolean; public isPostfixExpression(): boolean; public isUnaryExpression(): boolean; public isExpression(): boolean; public update(openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken): ParenthesizedExpressionSyntax; static create1(expression: IExpressionSyntax): ParenthesizedExpressionSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ParenthesizedExpressionSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ParenthesizedExpressionSyntax; public withOpenParenToken(openParenToken: ISyntaxToken): ParenthesizedExpressionSyntax; public withExpression(expression: IExpressionSyntax): ParenthesizedExpressionSyntax; public withCloseParenToken(closeParenToken: ISyntaxToken): ParenthesizedExpressionSyntax; public isTypeScriptSpecific(): boolean; } class SimpleArrowFunctionExpressionSyntax extends SyntaxNode implements IArrowFunctionExpressionSyntax { public identifier: ISyntaxToken; public equalsGreaterThanToken: ISyntaxToken; public block: BlockSyntax; public expression: IExpressionSyntax; constructor(identifier: ISyntaxToken, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isArrowFunctionExpression(): boolean; public isUnaryExpression(): boolean; public isExpression(): boolean; public update(identifier: ISyntaxToken, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): SimpleArrowFunctionExpressionSyntax; static create(identifier: ISyntaxToken, equalsGreaterThanToken: ISyntaxToken): SimpleArrowFunctionExpressionSyntax; static create1(identifier: ISyntaxToken): SimpleArrowFunctionExpressionSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): SimpleArrowFunctionExpressionSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): SimpleArrowFunctionExpressionSyntax; public withIdentifier(identifier: ISyntaxToken): SimpleArrowFunctionExpressionSyntax; public withEqualsGreaterThanToken(equalsGreaterThanToken: ISyntaxToken): SimpleArrowFunctionExpressionSyntax; public withBlock(block: BlockSyntax): SimpleArrowFunctionExpressionSyntax; public withExpression(expression: IExpressionSyntax): SimpleArrowFunctionExpressionSyntax; public isTypeScriptSpecific(): boolean; } class ParenthesizedArrowFunctionExpressionSyntax extends SyntaxNode implements IArrowFunctionExpressionSyntax { public callSignature: CallSignatureSyntax; public equalsGreaterThanToken: ISyntaxToken; public block: BlockSyntax; public expression: IExpressionSyntax; constructor(callSignature: CallSignatureSyntax, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isArrowFunctionExpression(): boolean; public isUnaryExpression(): boolean; public isExpression(): boolean; public update(callSignature: CallSignatureSyntax, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): ParenthesizedArrowFunctionExpressionSyntax; static create(callSignature: CallSignatureSyntax, equalsGreaterThanToken: ISyntaxToken): ParenthesizedArrowFunctionExpressionSyntax; static create1(): ParenthesizedArrowFunctionExpressionSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ParenthesizedArrowFunctionExpressionSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ParenthesizedArrowFunctionExpressionSyntax; public withCallSignature(callSignature: CallSignatureSyntax): ParenthesizedArrowFunctionExpressionSyntax; public withEqualsGreaterThanToken(equalsGreaterThanToken: ISyntaxToken): ParenthesizedArrowFunctionExpressionSyntax; public withBlock(block: BlockSyntax): ParenthesizedArrowFunctionExpressionSyntax; public withExpression(expression: IExpressionSyntax): ParenthesizedArrowFunctionExpressionSyntax; public isTypeScriptSpecific(): boolean; } class QualifiedNameSyntax extends SyntaxNode implements INameSyntax { public left: INameSyntax; public dotToken: ISyntaxToken; public right: ISyntaxToken; constructor(left: INameSyntax, dotToken: ISyntaxToken, right: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isName(): boolean; public isType(): boolean; public update(left: INameSyntax, dotToken: ISyntaxToken, right: ISyntaxToken): QualifiedNameSyntax; static create1(left: INameSyntax, right: ISyntaxToken): QualifiedNameSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): QualifiedNameSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): QualifiedNameSyntax; public withLeft(left: INameSyntax): QualifiedNameSyntax; public withDotToken(dotToken: ISyntaxToken): QualifiedNameSyntax; public withRight(right: ISyntaxToken): QualifiedNameSyntax; public isTypeScriptSpecific(): boolean; } class TypeArgumentListSyntax extends SyntaxNode { public lessThanToken: ISyntaxToken; public typeArguments: ISeparatedSyntaxList; public greaterThanToken: ISyntaxToken; constructor(lessThanToken: ISyntaxToken, typeArguments: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public update(lessThanToken: ISyntaxToken, typeArguments: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeArgumentListSyntax; static create(lessThanToken: ISyntaxToken, greaterThanToken: ISyntaxToken): TypeArgumentListSyntax; static create1(): TypeArgumentListSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): TypeArgumentListSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): TypeArgumentListSyntax; public withLessThanToken(lessThanToken: ISyntaxToken): TypeArgumentListSyntax; public withTypeArguments(typeArguments: ISeparatedSyntaxList): TypeArgumentListSyntax; public withTypeArgument(typeArgument: ITypeSyntax): TypeArgumentListSyntax; public withGreaterThanToken(greaterThanToken: ISyntaxToken): TypeArgumentListSyntax; public isTypeScriptSpecific(): boolean; } class ConstructorTypeSyntax extends SyntaxNode implements ITypeSyntax { public newKeyword: ISyntaxToken; public typeParameterList: TypeParameterListSyntax; public parameterList: ParameterListSyntax; public equalsGreaterThanToken: ISyntaxToken; public type: ITypeSyntax; constructor(newKeyword: ISyntaxToken, typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isType(): boolean; public update(newKeyword: ISyntaxToken, typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): ConstructorTypeSyntax; static create(newKeyword: ISyntaxToken, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): ConstructorTypeSyntax; static create1(type: ITypeSyntax): ConstructorTypeSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ConstructorTypeSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ConstructorTypeSyntax; public withNewKeyword(newKeyword: ISyntaxToken): ConstructorTypeSyntax; public withTypeParameterList(typeParameterList: TypeParameterListSyntax): ConstructorTypeSyntax; public withParameterList(parameterList: ParameterListSyntax): ConstructorTypeSyntax; public withEqualsGreaterThanToken(equalsGreaterThanToken: ISyntaxToken): ConstructorTypeSyntax; public withType(type: ITypeSyntax): ConstructorTypeSyntax; public isTypeScriptSpecific(): boolean; } class FunctionTypeSyntax extends SyntaxNode implements ITypeSyntax { public typeParameterList: TypeParameterListSyntax; public parameterList: ParameterListSyntax; public equalsGreaterThanToken: ISyntaxToken; public type: ITypeSyntax; constructor(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isType(): boolean; public update(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): FunctionTypeSyntax; static create(parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): FunctionTypeSyntax; static create1(type: ITypeSyntax): FunctionTypeSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): FunctionTypeSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): FunctionTypeSyntax; public withTypeParameterList(typeParameterList: TypeParameterListSyntax): FunctionTypeSyntax; public withParameterList(parameterList: ParameterListSyntax): FunctionTypeSyntax; public withEqualsGreaterThanToken(equalsGreaterThanToken: ISyntaxToken): FunctionTypeSyntax; public withType(type: ITypeSyntax): FunctionTypeSyntax; public isTypeScriptSpecific(): boolean; } class ObjectTypeSyntax extends SyntaxNode implements ITypeSyntax { public openBraceToken: ISyntaxToken; public typeMembers: ISeparatedSyntaxList; public closeBraceToken: ISyntaxToken; constructor(openBraceToken: ISyntaxToken, typeMembers: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isType(): boolean; public update(openBraceToken: ISyntaxToken, typeMembers: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectTypeSyntax; static create(openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): ObjectTypeSyntax; static create1(): ObjectTypeSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ObjectTypeSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ObjectTypeSyntax; public withOpenBraceToken(openBraceToken: ISyntaxToken): ObjectTypeSyntax; public withTypeMembers(typeMembers: ISeparatedSyntaxList): ObjectTypeSyntax; public withTypeMember(typeMember: ITypeMemberSyntax): ObjectTypeSyntax; public withCloseBraceToken(closeBraceToken: ISyntaxToken): ObjectTypeSyntax; public isTypeScriptSpecific(): boolean; } class ArrayTypeSyntax extends SyntaxNode implements ITypeSyntax { public type: ITypeSyntax; public openBracketToken: ISyntaxToken; public closeBracketToken: ISyntaxToken; constructor(type: ITypeSyntax, openBracketToken: ISyntaxToken, closeBracketToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isType(): boolean; public update(type: ITypeSyntax, openBracketToken: ISyntaxToken, closeBracketToken: ISyntaxToken): ArrayTypeSyntax; static create1(type: ITypeSyntax): ArrayTypeSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ArrayTypeSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ArrayTypeSyntax; public withType(type: ITypeSyntax): ArrayTypeSyntax; public withOpenBracketToken(openBracketToken: ISyntaxToken): ArrayTypeSyntax; public withCloseBracketToken(closeBracketToken: ISyntaxToken): ArrayTypeSyntax; public isTypeScriptSpecific(): boolean; } class GenericTypeSyntax extends SyntaxNode implements ITypeSyntax { public name: INameSyntax; public typeArgumentList: TypeArgumentListSyntax; constructor(name: INameSyntax, typeArgumentList: TypeArgumentListSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isType(): boolean; public update(name: INameSyntax, typeArgumentList: TypeArgumentListSyntax): GenericTypeSyntax; static create1(name: INameSyntax): GenericTypeSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): GenericTypeSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): GenericTypeSyntax; public withName(name: INameSyntax): GenericTypeSyntax; public withTypeArgumentList(typeArgumentList: TypeArgumentListSyntax): GenericTypeSyntax; public isTypeScriptSpecific(): boolean; } class TypeQuerySyntax extends SyntaxNode implements ITypeSyntax { public typeOfKeyword: ISyntaxToken; public name: INameSyntax; constructor(typeOfKeyword: ISyntaxToken, name: INameSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isType(): boolean; public update(typeOfKeyword: ISyntaxToken, name: INameSyntax): TypeQuerySyntax; static create1(name: INameSyntax): TypeQuerySyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): TypeQuerySyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): TypeQuerySyntax; public withTypeOfKeyword(typeOfKeyword: ISyntaxToken): TypeQuerySyntax; public withName(name: INameSyntax): TypeQuerySyntax; public isTypeScriptSpecific(): boolean; } class TypeAnnotationSyntax extends SyntaxNode { public colonToken: ISyntaxToken; public type: ITypeSyntax; constructor(colonToken: ISyntaxToken, type: ITypeSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public update(colonToken: ISyntaxToken, type: ITypeSyntax): TypeAnnotationSyntax; static create1(type: ITypeSyntax): TypeAnnotationSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): TypeAnnotationSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): TypeAnnotationSyntax; public withColonToken(colonToken: ISyntaxToken): TypeAnnotationSyntax; public withType(type: ITypeSyntax): TypeAnnotationSyntax; public isTypeScriptSpecific(): boolean; } class BlockSyntax extends SyntaxNode implements IStatementSyntax { public openBraceToken: ISyntaxToken; public statements: ISyntaxList; public closeBraceToken: ISyntaxToken; constructor(openBraceToken: ISyntaxToken, statements: ISyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isStatement(): boolean; public isModuleElement(): boolean; public update(openBraceToken: ISyntaxToken, statements: ISyntaxList, closeBraceToken: ISyntaxToken): BlockSyntax; static create(openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): BlockSyntax; static create1(): BlockSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): BlockSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): BlockSyntax; public withOpenBraceToken(openBraceToken: ISyntaxToken): BlockSyntax; public withStatements(statements: ISyntaxList): BlockSyntax; public withStatement(statement: IStatementSyntax): BlockSyntax; public withCloseBraceToken(closeBraceToken: ISyntaxToken): BlockSyntax; public isTypeScriptSpecific(): boolean; } class ParameterSyntax extends SyntaxNode { public dotDotDotToken: ISyntaxToken; public modifiers: ISyntaxList; public identifier: ISyntaxToken; public questionToken: ISyntaxToken; public typeAnnotation: TypeAnnotationSyntax; public equalsValueClause: EqualsValueClauseSyntax; constructor(dotDotDotToken: ISyntaxToken, modifiers: ISyntaxList, identifier: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public update(dotDotDotToken: ISyntaxToken, modifiers: ISyntaxList, identifier: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): ParameterSyntax; static create(identifier: ISyntaxToken): ParameterSyntax; static create1(identifier: ISyntaxToken): ParameterSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ParameterSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ParameterSyntax; public withDotDotDotToken(dotDotDotToken: ISyntaxToken): ParameterSyntax; public withModifiers(modifiers: ISyntaxList): ParameterSyntax; public withModifier(modifier: ISyntaxToken): ParameterSyntax; public withIdentifier(identifier: ISyntaxToken): ParameterSyntax; public withQuestionToken(questionToken: ISyntaxToken): ParameterSyntax; public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): ParameterSyntax; public withEqualsValueClause(equalsValueClause: EqualsValueClauseSyntax): ParameterSyntax; public isTypeScriptSpecific(): boolean; } class MemberAccessExpressionSyntax extends SyntaxNode implements IMemberExpressionSyntax { public expression: IExpressionSyntax; public dotToken: ISyntaxToken; public name: ISyntaxToken; constructor(expression: IExpressionSyntax, dotToken: ISyntaxToken, name: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isMemberExpression(): boolean; public isPostfixExpression(): boolean; public isUnaryExpression(): boolean; public isExpression(): boolean; public update(expression: IExpressionSyntax, dotToken: ISyntaxToken, name: ISyntaxToken): MemberAccessExpressionSyntax; static create1(expression: IExpressionSyntax, name: ISyntaxToken): MemberAccessExpressionSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): MemberAccessExpressionSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): MemberAccessExpressionSyntax; public withExpression(expression: IExpressionSyntax): MemberAccessExpressionSyntax; public withDotToken(dotToken: ISyntaxToken): MemberAccessExpressionSyntax; public withName(name: ISyntaxToken): MemberAccessExpressionSyntax; public isTypeScriptSpecific(): boolean; } class PostfixUnaryExpressionSyntax extends SyntaxNode implements IPostfixExpressionSyntax { public operand: IMemberExpressionSyntax; public operatorToken: ISyntaxToken; private _kind; constructor(kind: SyntaxKind, operand: IMemberExpressionSyntax, operatorToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isPostfixExpression(): boolean; public isUnaryExpression(): boolean; public isExpression(): boolean; public kind(): SyntaxKind; public update(kind: SyntaxKind, operand: IMemberExpressionSyntax, operatorToken: ISyntaxToken): PostfixUnaryExpressionSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): PostfixUnaryExpressionSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): PostfixUnaryExpressionSyntax; public withKind(kind: SyntaxKind): PostfixUnaryExpressionSyntax; public withOperand(operand: IMemberExpressionSyntax): PostfixUnaryExpressionSyntax; public withOperatorToken(operatorToken: ISyntaxToken): PostfixUnaryExpressionSyntax; public isTypeScriptSpecific(): boolean; } class ElementAccessExpressionSyntax extends SyntaxNode implements IMemberExpressionSyntax { public expression: IExpressionSyntax; public openBracketToken: ISyntaxToken; public argumentExpression: IExpressionSyntax; public closeBracketToken: ISyntaxToken; constructor(expression: IExpressionSyntax, openBracketToken: ISyntaxToken, argumentExpression: IExpressionSyntax, closeBracketToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isMemberExpression(): boolean; public isPostfixExpression(): boolean; public isUnaryExpression(): boolean; public isExpression(): boolean; public update(expression: IExpressionSyntax, openBracketToken: ISyntaxToken, argumentExpression: IExpressionSyntax, closeBracketToken: ISyntaxToken): ElementAccessExpressionSyntax; static create1(expression: IExpressionSyntax, argumentExpression: IExpressionSyntax): ElementAccessExpressionSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ElementAccessExpressionSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ElementAccessExpressionSyntax; public withExpression(expression: IExpressionSyntax): ElementAccessExpressionSyntax; public withOpenBracketToken(openBracketToken: ISyntaxToken): ElementAccessExpressionSyntax; public withArgumentExpression(argumentExpression: IExpressionSyntax): ElementAccessExpressionSyntax; public withCloseBracketToken(closeBracketToken: ISyntaxToken): ElementAccessExpressionSyntax; public isTypeScriptSpecific(): boolean; } class InvocationExpressionSyntax extends SyntaxNode implements IMemberExpressionSyntax { public expression: IMemberExpressionSyntax; public argumentList: ArgumentListSyntax; constructor(expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isMemberExpression(): boolean; public isPostfixExpression(): boolean; public isUnaryExpression(): boolean; public isExpression(): boolean; public update(expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): InvocationExpressionSyntax; static create1(expression: IMemberExpressionSyntax): InvocationExpressionSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): InvocationExpressionSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): InvocationExpressionSyntax; public withExpression(expression: IMemberExpressionSyntax): InvocationExpressionSyntax; public withArgumentList(argumentList: ArgumentListSyntax): InvocationExpressionSyntax; public isTypeScriptSpecific(): boolean; } class ArgumentListSyntax extends SyntaxNode { public typeArgumentList: TypeArgumentListSyntax; public openParenToken: ISyntaxToken; public closeParenToken: ISyntaxToken; public arguments: ISeparatedSyntaxList; constructor(typeArgumentList: TypeArgumentListSyntax, openParenToken: ISyntaxToken, _arguments: ISeparatedSyntaxList, closeParenToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public update(typeArgumentList: TypeArgumentListSyntax, openParenToken: ISyntaxToken, _arguments: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ArgumentListSyntax; static create(openParenToken: ISyntaxToken, closeParenToken: ISyntaxToken): ArgumentListSyntax; static create1(): ArgumentListSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ArgumentListSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ArgumentListSyntax; public withTypeArgumentList(typeArgumentList: TypeArgumentListSyntax): ArgumentListSyntax; public withOpenParenToken(openParenToken: ISyntaxToken): ArgumentListSyntax; public withArguments(_arguments: ISeparatedSyntaxList): ArgumentListSyntax; public withArgument(_argument: IExpressionSyntax): ArgumentListSyntax; public withCloseParenToken(closeParenToken: ISyntaxToken): ArgumentListSyntax; public isTypeScriptSpecific(): boolean; } class BinaryExpressionSyntax extends SyntaxNode implements IExpressionSyntax { public left: IExpressionSyntax; public operatorToken: ISyntaxToken; public right: IExpressionSyntax; private _kind; constructor(kind: SyntaxKind, left: IExpressionSyntax, operatorToken: ISyntaxToken, right: IExpressionSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isExpression(): boolean; public kind(): SyntaxKind; public update(kind: SyntaxKind, left: IExpressionSyntax, operatorToken: ISyntaxToken, right: IExpressionSyntax): BinaryExpressionSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): BinaryExpressionSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): BinaryExpressionSyntax; public withKind(kind: SyntaxKind): BinaryExpressionSyntax; public withLeft(left: IExpressionSyntax): BinaryExpressionSyntax; public withOperatorToken(operatorToken: ISyntaxToken): BinaryExpressionSyntax; public withRight(right: IExpressionSyntax): BinaryExpressionSyntax; public isTypeScriptSpecific(): boolean; } class ConditionalExpressionSyntax extends SyntaxNode implements IExpressionSyntax { public condition: IExpressionSyntax; public questionToken: ISyntaxToken; public whenTrue: IExpressionSyntax; public colonToken: ISyntaxToken; public whenFalse: IExpressionSyntax; constructor(condition: IExpressionSyntax, questionToken: ISyntaxToken, whenTrue: IExpressionSyntax, colonToken: ISyntaxToken, whenFalse: IExpressionSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isExpression(): boolean; public update(condition: IExpressionSyntax, questionToken: ISyntaxToken, whenTrue: IExpressionSyntax, colonToken: ISyntaxToken, whenFalse: IExpressionSyntax): ConditionalExpressionSyntax; static create1(condition: IExpressionSyntax, whenTrue: IExpressionSyntax, whenFalse: IExpressionSyntax): ConditionalExpressionSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ConditionalExpressionSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ConditionalExpressionSyntax; public withCondition(condition: IExpressionSyntax): ConditionalExpressionSyntax; public withQuestionToken(questionToken: ISyntaxToken): ConditionalExpressionSyntax; public withWhenTrue(whenTrue: IExpressionSyntax): ConditionalExpressionSyntax; public withColonToken(colonToken: ISyntaxToken): ConditionalExpressionSyntax; public withWhenFalse(whenFalse: IExpressionSyntax): ConditionalExpressionSyntax; public isTypeScriptSpecific(): boolean; } class ConstructSignatureSyntax extends SyntaxNode implements ITypeMemberSyntax { public newKeyword: ISyntaxToken; public callSignature: CallSignatureSyntax; constructor(newKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isTypeMember(): boolean; public update(newKeyword: ISyntaxToken, callSignature: CallSignatureSyntax): ConstructSignatureSyntax; static create1(): ConstructSignatureSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ConstructSignatureSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ConstructSignatureSyntax; public withNewKeyword(newKeyword: ISyntaxToken): ConstructSignatureSyntax; public withCallSignature(callSignature: CallSignatureSyntax): ConstructSignatureSyntax; public isTypeScriptSpecific(): boolean; } class MethodSignatureSyntax extends SyntaxNode implements ITypeMemberSyntax { public propertyName: ISyntaxToken; public questionToken: ISyntaxToken; public callSignature: CallSignatureSyntax; constructor(propertyName: ISyntaxToken, questionToken: ISyntaxToken, callSignature: CallSignatureSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isTypeMember(): boolean; public update(propertyName: ISyntaxToken, questionToken: ISyntaxToken, callSignature: CallSignatureSyntax): MethodSignatureSyntax; static create(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax): MethodSignatureSyntax; static create1(propertyName: ISyntaxToken): MethodSignatureSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): MethodSignatureSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): MethodSignatureSyntax; public withPropertyName(propertyName: ISyntaxToken): MethodSignatureSyntax; public withQuestionToken(questionToken: ISyntaxToken): MethodSignatureSyntax; public withCallSignature(callSignature: CallSignatureSyntax): MethodSignatureSyntax; public isTypeScriptSpecific(): boolean; } class IndexSignatureSyntax extends SyntaxNode implements ITypeMemberSyntax { public openBracketToken: ISyntaxToken; public parameter: ParameterSyntax; public closeBracketToken: ISyntaxToken; public typeAnnotation: TypeAnnotationSyntax; constructor(openBracketToken: ISyntaxToken, parameter: ParameterSyntax, closeBracketToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isTypeMember(): boolean; public update(openBracketToken: ISyntaxToken, parameter: ParameterSyntax, closeBracketToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): IndexSignatureSyntax; static create(openBracketToken: ISyntaxToken, parameter: ParameterSyntax, closeBracketToken: ISyntaxToken): IndexSignatureSyntax; static create1(parameter: ParameterSyntax): IndexSignatureSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): IndexSignatureSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): IndexSignatureSyntax; public withOpenBracketToken(openBracketToken: ISyntaxToken): IndexSignatureSyntax; public withParameter(parameter: ParameterSyntax): IndexSignatureSyntax; public withCloseBracketToken(closeBracketToken: ISyntaxToken): IndexSignatureSyntax; public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): IndexSignatureSyntax; public isTypeScriptSpecific(): boolean; } class PropertySignatureSyntax extends SyntaxNode implements ITypeMemberSyntax { public propertyName: ISyntaxToken; public questionToken: ISyntaxToken; public typeAnnotation: TypeAnnotationSyntax; constructor(propertyName: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isTypeMember(): boolean; public update(propertyName: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): PropertySignatureSyntax; static create(propertyName: ISyntaxToken): PropertySignatureSyntax; static create1(propertyName: ISyntaxToken): PropertySignatureSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): PropertySignatureSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): PropertySignatureSyntax; public withPropertyName(propertyName: ISyntaxToken): PropertySignatureSyntax; public withQuestionToken(questionToken: ISyntaxToken): PropertySignatureSyntax; public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): PropertySignatureSyntax; public isTypeScriptSpecific(): boolean; } class CallSignatureSyntax extends SyntaxNode implements ITypeMemberSyntax { public typeParameterList: TypeParameterListSyntax; public parameterList: ParameterListSyntax; public typeAnnotation: TypeAnnotationSyntax; constructor(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isTypeMember(): boolean; public update(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax): CallSignatureSyntax; static create(parameterList: ParameterListSyntax): CallSignatureSyntax; static create1(): CallSignatureSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): CallSignatureSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): CallSignatureSyntax; public withTypeParameterList(typeParameterList: TypeParameterListSyntax): CallSignatureSyntax; public withParameterList(parameterList: ParameterListSyntax): CallSignatureSyntax; public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): CallSignatureSyntax; public isTypeScriptSpecific(): boolean; } class ParameterListSyntax extends SyntaxNode { public openParenToken: ISyntaxToken; public parameters: ISeparatedSyntaxList; public closeParenToken: ISyntaxToken; constructor(openParenToken: ISyntaxToken, parameters: ISeparatedSyntaxList, closeParenToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public update(openParenToken: ISyntaxToken, parameters: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ParameterListSyntax; static create(openParenToken: ISyntaxToken, closeParenToken: ISyntaxToken): ParameterListSyntax; static create1(): ParameterListSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ParameterListSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ParameterListSyntax; public withOpenParenToken(openParenToken: ISyntaxToken): ParameterListSyntax; public withParameters(parameters: ISeparatedSyntaxList): ParameterListSyntax; public withParameter(parameter: ParameterSyntax): ParameterListSyntax; public withCloseParenToken(closeParenToken: ISyntaxToken): ParameterListSyntax; public isTypeScriptSpecific(): boolean; } class TypeParameterListSyntax extends SyntaxNode { public lessThanToken: ISyntaxToken; public typeParameters: ISeparatedSyntaxList; public greaterThanToken: ISyntaxToken; constructor(lessThanToken: ISyntaxToken, typeParameters: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public update(lessThanToken: ISyntaxToken, typeParameters: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeParameterListSyntax; static create(lessThanToken: ISyntaxToken, greaterThanToken: ISyntaxToken): TypeParameterListSyntax; static create1(): TypeParameterListSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): TypeParameterListSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): TypeParameterListSyntax; public withLessThanToken(lessThanToken: ISyntaxToken): TypeParameterListSyntax; public withTypeParameters(typeParameters: ISeparatedSyntaxList): TypeParameterListSyntax; public withTypeParameter(typeParameter: TypeParameterSyntax): TypeParameterListSyntax; public withGreaterThanToken(greaterThanToken: ISyntaxToken): TypeParameterListSyntax; public isTypeScriptSpecific(): boolean; } class TypeParameterSyntax extends SyntaxNode { public identifier: ISyntaxToken; public constraint: ConstraintSyntax; constructor(identifier: ISyntaxToken, constraint: ConstraintSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public update(identifier: ISyntaxToken, constraint: ConstraintSyntax): TypeParameterSyntax; static create(identifier: ISyntaxToken): TypeParameterSyntax; static create1(identifier: ISyntaxToken): TypeParameterSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): TypeParameterSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): TypeParameterSyntax; public withIdentifier(identifier: ISyntaxToken): TypeParameterSyntax; public withConstraint(constraint: ConstraintSyntax): TypeParameterSyntax; public isTypeScriptSpecific(): boolean; } class ConstraintSyntax extends SyntaxNode { public extendsKeyword: ISyntaxToken; public type: ITypeSyntax; constructor(extendsKeyword: ISyntaxToken, type: ITypeSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public update(extendsKeyword: ISyntaxToken, type: ITypeSyntax): ConstraintSyntax; static create1(type: ITypeSyntax): ConstraintSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ConstraintSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ConstraintSyntax; public withExtendsKeyword(extendsKeyword: ISyntaxToken): ConstraintSyntax; public withType(type: ITypeSyntax): ConstraintSyntax; public isTypeScriptSpecific(): boolean; } class ElseClauseSyntax extends SyntaxNode { public elseKeyword: ISyntaxToken; public statement: IStatementSyntax; constructor(elseKeyword: ISyntaxToken, statement: IStatementSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public update(elseKeyword: ISyntaxToken, statement: IStatementSyntax): ElseClauseSyntax; static create1(statement: IStatementSyntax): ElseClauseSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ElseClauseSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ElseClauseSyntax; public withElseKeyword(elseKeyword: ISyntaxToken): ElseClauseSyntax; public withStatement(statement: IStatementSyntax): ElseClauseSyntax; public isTypeScriptSpecific(): boolean; } class IfStatementSyntax extends SyntaxNode implements IStatementSyntax { public ifKeyword: ISyntaxToken; public openParenToken: ISyntaxToken; public condition: IExpressionSyntax; public closeParenToken: ISyntaxToken; public statement: IStatementSyntax; public elseClause: ElseClauseSyntax; constructor(ifKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, elseClause: ElseClauseSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isStatement(): boolean; public isModuleElement(): boolean; public update(ifKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, elseClause: ElseClauseSyntax): IfStatementSyntax; static create(ifKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): IfStatementSyntax; static create1(condition: IExpressionSyntax, statement: IStatementSyntax): IfStatementSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): IfStatementSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): IfStatementSyntax; public withIfKeyword(ifKeyword: ISyntaxToken): IfStatementSyntax; public withOpenParenToken(openParenToken: ISyntaxToken): IfStatementSyntax; public withCondition(condition: IExpressionSyntax): IfStatementSyntax; public withCloseParenToken(closeParenToken: ISyntaxToken): IfStatementSyntax; public withStatement(statement: IStatementSyntax): IfStatementSyntax; public withElseClause(elseClause: ElseClauseSyntax): IfStatementSyntax; public isTypeScriptSpecific(): boolean; } class ExpressionStatementSyntax extends SyntaxNode implements IStatementSyntax { public expression: IExpressionSyntax; public semicolonToken: ISyntaxToken; constructor(expression: IExpressionSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isStatement(): boolean; public isModuleElement(): boolean; public update(expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ExpressionStatementSyntax; static create1(expression: IExpressionSyntax): ExpressionStatementSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ExpressionStatementSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ExpressionStatementSyntax; public withExpression(expression: IExpressionSyntax): ExpressionStatementSyntax; public withSemicolonToken(semicolonToken: ISyntaxToken): ExpressionStatementSyntax; public isTypeScriptSpecific(): boolean; } class ConstructorDeclarationSyntax extends SyntaxNode implements IClassElementSyntax { public modifiers: ISyntaxList; public constructorKeyword: ISyntaxToken; public callSignature: CallSignatureSyntax; public block: BlockSyntax; public semicolonToken: ISyntaxToken; constructor(modifiers: ISyntaxList, constructorKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isClassElement(): boolean; public update(modifiers: ISyntaxList, constructorKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): ConstructorDeclarationSyntax; static create(constructorKeyword: ISyntaxToken, callSignature: CallSignatureSyntax): ConstructorDeclarationSyntax; static create1(): ConstructorDeclarationSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ConstructorDeclarationSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ConstructorDeclarationSyntax; public withModifiers(modifiers: ISyntaxList): ConstructorDeclarationSyntax; public withModifier(modifier: ISyntaxToken): ConstructorDeclarationSyntax; public withConstructorKeyword(constructorKeyword: ISyntaxToken): ConstructorDeclarationSyntax; public withCallSignature(callSignature: CallSignatureSyntax): ConstructorDeclarationSyntax; public withBlock(block: BlockSyntax): ConstructorDeclarationSyntax; public withSemicolonToken(semicolonToken: ISyntaxToken): ConstructorDeclarationSyntax; public isTypeScriptSpecific(): boolean; } class MemberFunctionDeclarationSyntax extends SyntaxNode implements IMemberDeclarationSyntax { public modifiers: ISyntaxList; public propertyName: ISyntaxToken; public callSignature: CallSignatureSyntax; public block: BlockSyntax; public semicolonToken: ISyntaxToken; constructor(modifiers: ISyntaxList, propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isMemberDeclaration(): boolean; public isClassElement(): boolean; public update(modifiers: ISyntaxList, propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): MemberFunctionDeclarationSyntax; static create(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax): MemberFunctionDeclarationSyntax; static create1(propertyName: ISyntaxToken): MemberFunctionDeclarationSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): MemberFunctionDeclarationSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): MemberFunctionDeclarationSyntax; public withModifiers(modifiers: ISyntaxList): MemberFunctionDeclarationSyntax; public withModifier(modifier: ISyntaxToken): MemberFunctionDeclarationSyntax; public withPropertyName(propertyName: ISyntaxToken): MemberFunctionDeclarationSyntax; public withCallSignature(callSignature: CallSignatureSyntax): MemberFunctionDeclarationSyntax; public withBlock(block: BlockSyntax): MemberFunctionDeclarationSyntax; public withSemicolonToken(semicolonToken: ISyntaxToken): MemberFunctionDeclarationSyntax; public isTypeScriptSpecific(): boolean; } class GetAccessorSyntax extends SyntaxNode implements IMemberDeclarationSyntax, IPropertyAssignmentSyntax { public modifiers: ISyntaxList; public getKeyword: ISyntaxToken; public propertyName: ISyntaxToken; public parameterList: ParameterListSyntax; public typeAnnotation: TypeAnnotationSyntax; public block: BlockSyntax; constructor(modifiers: ISyntaxList, getKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax, block: BlockSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isMemberDeclaration(): boolean; public isPropertyAssignment(): boolean; public isClassElement(): boolean; public update(modifiers: ISyntaxList, getKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax, block: BlockSyntax): GetAccessorSyntax; static create(getKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax): GetAccessorSyntax; static create1(propertyName: ISyntaxToken): GetAccessorSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): GetAccessorSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): GetAccessorSyntax; public withModifiers(modifiers: ISyntaxList): GetAccessorSyntax; public withModifier(modifier: ISyntaxToken): GetAccessorSyntax; public withGetKeyword(getKeyword: ISyntaxToken): GetAccessorSyntax; public withPropertyName(propertyName: ISyntaxToken): GetAccessorSyntax; public withParameterList(parameterList: ParameterListSyntax): GetAccessorSyntax; public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): GetAccessorSyntax; public withBlock(block: BlockSyntax): GetAccessorSyntax; public isTypeScriptSpecific(): boolean; } class SetAccessorSyntax extends SyntaxNode implements IMemberDeclarationSyntax, IPropertyAssignmentSyntax { public modifiers: ISyntaxList; public setKeyword: ISyntaxToken; public propertyName: ISyntaxToken; public parameterList: ParameterListSyntax; public block: BlockSyntax; constructor(modifiers: ISyntaxList, setKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isMemberDeclaration(): boolean; public isPropertyAssignment(): boolean; public isClassElement(): boolean; public update(modifiers: ISyntaxList, setKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax): SetAccessorSyntax; static create(setKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax): SetAccessorSyntax; static create1(propertyName: ISyntaxToken): SetAccessorSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): SetAccessorSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): SetAccessorSyntax; public withModifiers(modifiers: ISyntaxList): SetAccessorSyntax; public withModifier(modifier: ISyntaxToken): SetAccessorSyntax; public withSetKeyword(setKeyword: ISyntaxToken): SetAccessorSyntax; public withPropertyName(propertyName: ISyntaxToken): SetAccessorSyntax; public withParameterList(parameterList: ParameterListSyntax): SetAccessorSyntax; public withBlock(block: BlockSyntax): SetAccessorSyntax; public isTypeScriptSpecific(): boolean; } class MemberVariableDeclarationSyntax extends SyntaxNode implements IMemberDeclarationSyntax { public modifiers: ISyntaxList; public variableDeclarator: VariableDeclaratorSyntax; public semicolonToken: ISyntaxToken; constructor(modifiers: ISyntaxList, variableDeclarator: VariableDeclaratorSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isMemberDeclaration(): boolean; public isClassElement(): boolean; public update(modifiers: ISyntaxList, variableDeclarator: VariableDeclaratorSyntax, semicolonToken: ISyntaxToken): MemberVariableDeclarationSyntax; static create(variableDeclarator: VariableDeclaratorSyntax, semicolonToken: ISyntaxToken): MemberVariableDeclarationSyntax; static create1(variableDeclarator: VariableDeclaratorSyntax): MemberVariableDeclarationSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): MemberVariableDeclarationSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): MemberVariableDeclarationSyntax; public withModifiers(modifiers: ISyntaxList): MemberVariableDeclarationSyntax; public withModifier(modifier: ISyntaxToken): MemberVariableDeclarationSyntax; public withVariableDeclarator(variableDeclarator: VariableDeclaratorSyntax): MemberVariableDeclarationSyntax; public withSemicolonToken(semicolonToken: ISyntaxToken): MemberVariableDeclarationSyntax; public isTypeScriptSpecific(): boolean; } class IndexMemberDeclarationSyntax extends SyntaxNode implements IClassElementSyntax { public modifiers: ISyntaxList; public indexSignature: IndexSignatureSyntax; public semicolonToken: ISyntaxToken; constructor(modifiers: ISyntaxList, indexSignature: IndexSignatureSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isClassElement(): boolean; public update(modifiers: ISyntaxList, indexSignature: IndexSignatureSyntax, semicolonToken: ISyntaxToken): IndexMemberDeclarationSyntax; static create(indexSignature: IndexSignatureSyntax, semicolonToken: ISyntaxToken): IndexMemberDeclarationSyntax; static create1(indexSignature: IndexSignatureSyntax): IndexMemberDeclarationSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): IndexMemberDeclarationSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): IndexMemberDeclarationSyntax; public withModifiers(modifiers: ISyntaxList): IndexMemberDeclarationSyntax; public withModifier(modifier: ISyntaxToken): IndexMemberDeclarationSyntax; public withIndexSignature(indexSignature: IndexSignatureSyntax): IndexMemberDeclarationSyntax; public withSemicolonToken(semicolonToken: ISyntaxToken): IndexMemberDeclarationSyntax; public isTypeScriptSpecific(): boolean; } class ThrowStatementSyntax extends SyntaxNode implements IStatementSyntax { public throwKeyword: ISyntaxToken; public expression: IExpressionSyntax; public semicolonToken: ISyntaxToken; constructor(throwKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isStatement(): boolean; public isModuleElement(): boolean; public update(throwKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ThrowStatementSyntax; static create1(expression: IExpressionSyntax): ThrowStatementSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ThrowStatementSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ThrowStatementSyntax; public withThrowKeyword(throwKeyword: ISyntaxToken): ThrowStatementSyntax; public withExpression(expression: IExpressionSyntax): ThrowStatementSyntax; public withSemicolonToken(semicolonToken: ISyntaxToken): ThrowStatementSyntax; public isTypeScriptSpecific(): boolean; } class ReturnStatementSyntax extends SyntaxNode implements IStatementSyntax { public returnKeyword: ISyntaxToken; public expression: IExpressionSyntax; public semicolonToken: ISyntaxToken; constructor(returnKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isStatement(): boolean; public isModuleElement(): boolean; public update(returnKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ReturnStatementSyntax; static create(returnKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): ReturnStatementSyntax; static create1(): ReturnStatementSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ReturnStatementSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ReturnStatementSyntax; public withReturnKeyword(returnKeyword: ISyntaxToken): ReturnStatementSyntax; public withExpression(expression: IExpressionSyntax): ReturnStatementSyntax; public withSemicolonToken(semicolonToken: ISyntaxToken): ReturnStatementSyntax; public isTypeScriptSpecific(): boolean; } class ObjectCreationExpressionSyntax extends SyntaxNode implements IMemberExpressionSyntax { public newKeyword: ISyntaxToken; public expression: IMemberExpressionSyntax; public argumentList: ArgumentListSyntax; constructor(newKeyword: ISyntaxToken, expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isMemberExpression(): boolean; public isPostfixExpression(): boolean; public isUnaryExpression(): boolean; public isExpression(): boolean; public update(newKeyword: ISyntaxToken, expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): ObjectCreationExpressionSyntax; static create(newKeyword: ISyntaxToken, expression: IMemberExpressionSyntax): ObjectCreationExpressionSyntax; static create1(expression: IMemberExpressionSyntax): ObjectCreationExpressionSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ObjectCreationExpressionSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ObjectCreationExpressionSyntax; public withNewKeyword(newKeyword: ISyntaxToken): ObjectCreationExpressionSyntax; public withExpression(expression: IMemberExpressionSyntax): ObjectCreationExpressionSyntax; public withArgumentList(argumentList: ArgumentListSyntax): ObjectCreationExpressionSyntax; public isTypeScriptSpecific(): boolean; } class SwitchStatementSyntax extends SyntaxNode implements IStatementSyntax { public switchKeyword: ISyntaxToken; public openParenToken: ISyntaxToken; public expression: IExpressionSyntax; public closeParenToken: ISyntaxToken; public openBraceToken: ISyntaxToken; public switchClauses: ISyntaxList; public closeBraceToken: ISyntaxToken; constructor(switchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, openBraceToken: ISyntaxToken, switchClauses: ISyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isStatement(): boolean; public isModuleElement(): boolean; public update(switchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, openBraceToken: ISyntaxToken, switchClauses: ISyntaxList, closeBraceToken: ISyntaxToken): SwitchStatementSyntax; static create(switchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): SwitchStatementSyntax; static create1(expression: IExpressionSyntax): SwitchStatementSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): SwitchStatementSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): SwitchStatementSyntax; public withSwitchKeyword(switchKeyword: ISyntaxToken): SwitchStatementSyntax; public withOpenParenToken(openParenToken: ISyntaxToken): SwitchStatementSyntax; public withExpression(expression: IExpressionSyntax): SwitchStatementSyntax; public withCloseParenToken(closeParenToken: ISyntaxToken): SwitchStatementSyntax; public withOpenBraceToken(openBraceToken: ISyntaxToken): SwitchStatementSyntax; public withSwitchClauses(switchClauses: ISyntaxList): SwitchStatementSyntax; public withSwitchClause(switchClause: ISwitchClauseSyntax): SwitchStatementSyntax; public withCloseBraceToken(closeBraceToken: ISyntaxToken): SwitchStatementSyntax; public isTypeScriptSpecific(): boolean; } class CaseSwitchClauseSyntax extends SyntaxNode implements ISwitchClauseSyntax { public caseKeyword: ISyntaxToken; public expression: IExpressionSyntax; public colonToken: ISyntaxToken; public statements: ISyntaxList; constructor(caseKeyword: ISyntaxToken, expression: IExpressionSyntax, colonToken: ISyntaxToken, statements: ISyntaxList, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isSwitchClause(): boolean; public update(caseKeyword: ISyntaxToken, expression: IExpressionSyntax, colonToken: ISyntaxToken, statements: ISyntaxList): CaseSwitchClauseSyntax; static create(caseKeyword: ISyntaxToken, expression: IExpressionSyntax, colonToken: ISyntaxToken): CaseSwitchClauseSyntax; static create1(expression: IExpressionSyntax): CaseSwitchClauseSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): CaseSwitchClauseSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): CaseSwitchClauseSyntax; public withCaseKeyword(caseKeyword: ISyntaxToken): CaseSwitchClauseSyntax; public withExpression(expression: IExpressionSyntax): CaseSwitchClauseSyntax; public withColonToken(colonToken: ISyntaxToken): CaseSwitchClauseSyntax; public withStatements(statements: ISyntaxList): CaseSwitchClauseSyntax; public withStatement(statement: IStatementSyntax): CaseSwitchClauseSyntax; public isTypeScriptSpecific(): boolean; } class DefaultSwitchClauseSyntax extends SyntaxNode implements ISwitchClauseSyntax { public defaultKeyword: ISyntaxToken; public colonToken: ISyntaxToken; public statements: ISyntaxList; constructor(defaultKeyword: ISyntaxToken, colonToken: ISyntaxToken, statements: ISyntaxList, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isSwitchClause(): boolean; public update(defaultKeyword: ISyntaxToken, colonToken: ISyntaxToken, statements: ISyntaxList): DefaultSwitchClauseSyntax; static create(defaultKeyword: ISyntaxToken, colonToken: ISyntaxToken): DefaultSwitchClauseSyntax; static create1(): DefaultSwitchClauseSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): DefaultSwitchClauseSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): DefaultSwitchClauseSyntax; public withDefaultKeyword(defaultKeyword: ISyntaxToken): DefaultSwitchClauseSyntax; public withColonToken(colonToken: ISyntaxToken): DefaultSwitchClauseSyntax; public withStatements(statements: ISyntaxList): DefaultSwitchClauseSyntax; public withStatement(statement: IStatementSyntax): DefaultSwitchClauseSyntax; public isTypeScriptSpecific(): boolean; } class BreakStatementSyntax extends SyntaxNode implements IStatementSyntax { public breakKeyword: ISyntaxToken; public identifier: ISyntaxToken; public semicolonToken: ISyntaxToken; constructor(breakKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isStatement(): boolean; public isModuleElement(): boolean; public update(breakKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): BreakStatementSyntax; static create(breakKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): BreakStatementSyntax; static create1(): BreakStatementSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): BreakStatementSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): BreakStatementSyntax; public withBreakKeyword(breakKeyword: ISyntaxToken): BreakStatementSyntax; public withIdentifier(identifier: ISyntaxToken): BreakStatementSyntax; public withSemicolonToken(semicolonToken: ISyntaxToken): BreakStatementSyntax; public isTypeScriptSpecific(): boolean; } class ContinueStatementSyntax extends SyntaxNode implements IStatementSyntax { public continueKeyword: ISyntaxToken; public identifier: ISyntaxToken; public semicolonToken: ISyntaxToken; constructor(continueKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isStatement(): boolean; public isModuleElement(): boolean; public update(continueKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ContinueStatementSyntax; static create(continueKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): ContinueStatementSyntax; static create1(): ContinueStatementSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ContinueStatementSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ContinueStatementSyntax; public withContinueKeyword(continueKeyword: ISyntaxToken): ContinueStatementSyntax; public withIdentifier(identifier: ISyntaxToken): ContinueStatementSyntax; public withSemicolonToken(semicolonToken: ISyntaxToken): ContinueStatementSyntax; public isTypeScriptSpecific(): boolean; } class ForStatementSyntax extends SyntaxNode implements IIterationStatementSyntax { public forKeyword: ISyntaxToken; public openParenToken: ISyntaxToken; public variableDeclaration: VariableDeclarationSyntax; public initializer: IExpressionSyntax; public firstSemicolonToken: ISyntaxToken; public condition: IExpressionSyntax; public secondSemicolonToken: ISyntaxToken; public incrementor: IExpressionSyntax; public closeParenToken: ISyntaxToken; public statement: IStatementSyntax; constructor(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, initializer: IExpressionSyntax, firstSemicolonToken: ISyntaxToken, condition: IExpressionSyntax, secondSemicolonToken: ISyntaxToken, incrementor: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isIterationStatement(): boolean; public isStatement(): boolean; public isModuleElement(): boolean; public update(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, initializer: IExpressionSyntax, firstSemicolonToken: ISyntaxToken, condition: IExpressionSyntax, secondSemicolonToken: ISyntaxToken, incrementor: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForStatementSyntax; static create(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, firstSemicolonToken: ISyntaxToken, secondSemicolonToken: ISyntaxToken, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForStatementSyntax; static create1(statement: IStatementSyntax): ForStatementSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ForStatementSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ForStatementSyntax; public withForKeyword(forKeyword: ISyntaxToken): ForStatementSyntax; public withOpenParenToken(openParenToken: ISyntaxToken): ForStatementSyntax; public withVariableDeclaration(variableDeclaration: VariableDeclarationSyntax): ForStatementSyntax; public withInitializer(initializer: IExpressionSyntax): ForStatementSyntax; public withFirstSemicolonToken(firstSemicolonToken: ISyntaxToken): ForStatementSyntax; public withCondition(condition: IExpressionSyntax): ForStatementSyntax; public withSecondSemicolonToken(secondSemicolonToken: ISyntaxToken): ForStatementSyntax; public withIncrementor(incrementor: IExpressionSyntax): ForStatementSyntax; public withCloseParenToken(closeParenToken: ISyntaxToken): ForStatementSyntax; public withStatement(statement: IStatementSyntax): ForStatementSyntax; public isTypeScriptSpecific(): boolean; } class ForInStatementSyntax extends SyntaxNode implements IIterationStatementSyntax { public forKeyword: ISyntaxToken; public openParenToken: ISyntaxToken; public variableDeclaration: VariableDeclarationSyntax; public left: IExpressionSyntax; public inKeyword: ISyntaxToken; public expression: IExpressionSyntax; public closeParenToken: ISyntaxToken; public statement: IStatementSyntax; constructor(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, left: IExpressionSyntax, inKeyword: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isIterationStatement(): boolean; public isStatement(): boolean; public isModuleElement(): boolean; public update(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, left: IExpressionSyntax, inKeyword: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForInStatementSyntax; static create(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, inKeyword: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForInStatementSyntax; static create1(expression: IExpressionSyntax, statement: IStatementSyntax): ForInStatementSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ForInStatementSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ForInStatementSyntax; public withForKeyword(forKeyword: ISyntaxToken): ForInStatementSyntax; public withOpenParenToken(openParenToken: ISyntaxToken): ForInStatementSyntax; public withVariableDeclaration(variableDeclaration: VariableDeclarationSyntax): ForInStatementSyntax; public withLeft(left: IExpressionSyntax): ForInStatementSyntax; public withInKeyword(inKeyword: ISyntaxToken): ForInStatementSyntax; public withExpression(expression: IExpressionSyntax): ForInStatementSyntax; public withCloseParenToken(closeParenToken: ISyntaxToken): ForInStatementSyntax; public withStatement(statement: IStatementSyntax): ForInStatementSyntax; public isTypeScriptSpecific(): boolean; } class WhileStatementSyntax extends SyntaxNode implements IIterationStatementSyntax { public whileKeyword: ISyntaxToken; public openParenToken: ISyntaxToken; public condition: IExpressionSyntax; public closeParenToken: ISyntaxToken; public statement: IStatementSyntax; constructor(whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isIterationStatement(): boolean; public isStatement(): boolean; public isModuleElement(): boolean; public update(whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WhileStatementSyntax; static create1(condition: IExpressionSyntax, statement: IStatementSyntax): WhileStatementSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): WhileStatementSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): WhileStatementSyntax; public withWhileKeyword(whileKeyword: ISyntaxToken): WhileStatementSyntax; public withOpenParenToken(openParenToken: ISyntaxToken): WhileStatementSyntax; public withCondition(condition: IExpressionSyntax): WhileStatementSyntax; public withCloseParenToken(closeParenToken: ISyntaxToken): WhileStatementSyntax; public withStatement(statement: IStatementSyntax): WhileStatementSyntax; public isTypeScriptSpecific(): boolean; } class WithStatementSyntax extends SyntaxNode implements IStatementSyntax { public withKeyword: ISyntaxToken; public openParenToken: ISyntaxToken; public condition: IExpressionSyntax; public closeParenToken: ISyntaxToken; public statement: IStatementSyntax; constructor(withKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isStatement(): boolean; public isModuleElement(): boolean; public update(withKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WithStatementSyntax; static create1(condition: IExpressionSyntax, statement: IStatementSyntax): WithStatementSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): WithStatementSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): WithStatementSyntax; public withWithKeyword(withKeyword: ISyntaxToken): WithStatementSyntax; public withOpenParenToken(openParenToken: ISyntaxToken): WithStatementSyntax; public withCondition(condition: IExpressionSyntax): WithStatementSyntax; public withCloseParenToken(closeParenToken: ISyntaxToken): WithStatementSyntax; public withStatement(statement: IStatementSyntax): WithStatementSyntax; public isTypeScriptSpecific(): boolean; } class EnumDeclarationSyntax extends SyntaxNode implements IModuleElementSyntax { public modifiers: ISyntaxList; public enumKeyword: ISyntaxToken; public identifier: ISyntaxToken; public openBraceToken: ISyntaxToken; public enumElements: ISeparatedSyntaxList; public closeBraceToken: ISyntaxToken; constructor(modifiers: ISyntaxList, enumKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, enumElements: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isModuleElement(): boolean; public update(modifiers: ISyntaxList, enumKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, enumElements: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): EnumDeclarationSyntax; static create(enumKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): EnumDeclarationSyntax; static create1(identifier: ISyntaxToken): EnumDeclarationSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): EnumDeclarationSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): EnumDeclarationSyntax; public withModifiers(modifiers: ISyntaxList): EnumDeclarationSyntax; public withModifier(modifier: ISyntaxToken): EnumDeclarationSyntax; public withEnumKeyword(enumKeyword: ISyntaxToken): EnumDeclarationSyntax; public withIdentifier(identifier: ISyntaxToken): EnumDeclarationSyntax; public withOpenBraceToken(openBraceToken: ISyntaxToken): EnumDeclarationSyntax; public withEnumElements(enumElements: ISeparatedSyntaxList): EnumDeclarationSyntax; public withEnumElement(enumElement: EnumElementSyntax): EnumDeclarationSyntax; public withCloseBraceToken(closeBraceToken: ISyntaxToken): EnumDeclarationSyntax; public isTypeScriptSpecific(): boolean; } class EnumElementSyntax extends SyntaxNode { public propertyName: ISyntaxToken; public equalsValueClause: EqualsValueClauseSyntax; constructor(propertyName: ISyntaxToken, equalsValueClause: EqualsValueClauseSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public update(propertyName: ISyntaxToken, equalsValueClause: EqualsValueClauseSyntax): EnumElementSyntax; static create(propertyName: ISyntaxToken): EnumElementSyntax; static create1(propertyName: ISyntaxToken): EnumElementSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): EnumElementSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): EnumElementSyntax; public withPropertyName(propertyName: ISyntaxToken): EnumElementSyntax; public withEqualsValueClause(equalsValueClause: EqualsValueClauseSyntax): EnumElementSyntax; public isTypeScriptSpecific(): boolean; } class CastExpressionSyntax extends SyntaxNode implements IUnaryExpressionSyntax { public lessThanToken: ISyntaxToken; public type: ITypeSyntax; public greaterThanToken: ISyntaxToken; public expression: IUnaryExpressionSyntax; constructor(lessThanToken: ISyntaxToken, type: ITypeSyntax, greaterThanToken: ISyntaxToken, expression: IUnaryExpressionSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isUnaryExpression(): boolean; public isExpression(): boolean; public update(lessThanToken: ISyntaxToken, type: ITypeSyntax, greaterThanToken: ISyntaxToken, expression: IUnaryExpressionSyntax): CastExpressionSyntax; static create1(type: ITypeSyntax, expression: IUnaryExpressionSyntax): CastExpressionSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): CastExpressionSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): CastExpressionSyntax; public withLessThanToken(lessThanToken: ISyntaxToken): CastExpressionSyntax; public withType(type: ITypeSyntax): CastExpressionSyntax; public withGreaterThanToken(greaterThanToken: ISyntaxToken): CastExpressionSyntax; public withExpression(expression: IUnaryExpressionSyntax): CastExpressionSyntax; public isTypeScriptSpecific(): boolean; } class ObjectLiteralExpressionSyntax extends SyntaxNode implements IPrimaryExpressionSyntax { public openBraceToken: ISyntaxToken; public propertyAssignments: ISeparatedSyntaxList; public closeBraceToken: ISyntaxToken; constructor(openBraceToken: ISyntaxToken, propertyAssignments: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isPrimaryExpression(): boolean; public isMemberExpression(): boolean; public isPostfixExpression(): boolean; public isUnaryExpression(): boolean; public isExpression(): boolean; public update(openBraceToken: ISyntaxToken, propertyAssignments: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax; static create(openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax; static create1(): ObjectLiteralExpressionSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): ObjectLiteralExpressionSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): ObjectLiteralExpressionSyntax; public withOpenBraceToken(openBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax; public withPropertyAssignments(propertyAssignments: ISeparatedSyntaxList): ObjectLiteralExpressionSyntax; public withPropertyAssignment(propertyAssignment: IPropertyAssignmentSyntax): ObjectLiteralExpressionSyntax; public withCloseBraceToken(closeBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax; public isTypeScriptSpecific(): boolean; } class SimplePropertyAssignmentSyntax extends SyntaxNode implements IPropertyAssignmentSyntax { public propertyName: ISyntaxToken; public colonToken: ISyntaxToken; public expression: IExpressionSyntax; constructor(propertyName: ISyntaxToken, colonToken: ISyntaxToken, expression: IExpressionSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isPropertyAssignment(): boolean; public update(propertyName: ISyntaxToken, colonToken: ISyntaxToken, expression: IExpressionSyntax): SimplePropertyAssignmentSyntax; static create1(propertyName: ISyntaxToken, expression: IExpressionSyntax): SimplePropertyAssignmentSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): SimplePropertyAssignmentSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): SimplePropertyAssignmentSyntax; public withPropertyName(propertyName: ISyntaxToken): SimplePropertyAssignmentSyntax; public withColonToken(colonToken: ISyntaxToken): SimplePropertyAssignmentSyntax; public withExpression(expression: IExpressionSyntax): SimplePropertyAssignmentSyntax; public isTypeScriptSpecific(): boolean; } class FunctionPropertyAssignmentSyntax extends SyntaxNode implements IPropertyAssignmentSyntax { public propertyName: ISyntaxToken; public callSignature: CallSignatureSyntax; public block: BlockSyntax; constructor(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isPropertyAssignment(): boolean; public update(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionPropertyAssignmentSyntax; static create1(propertyName: ISyntaxToken): FunctionPropertyAssignmentSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): FunctionPropertyAssignmentSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): FunctionPropertyAssignmentSyntax; public withPropertyName(propertyName: ISyntaxToken): FunctionPropertyAssignmentSyntax; public withCallSignature(callSignature: CallSignatureSyntax): FunctionPropertyAssignmentSyntax; public withBlock(block: BlockSyntax): FunctionPropertyAssignmentSyntax; public isTypeScriptSpecific(): boolean; } class FunctionExpressionSyntax extends SyntaxNode implements IPrimaryExpressionSyntax { public functionKeyword: ISyntaxToken; public identifier: ISyntaxToken; public callSignature: CallSignatureSyntax; public block: BlockSyntax; constructor(functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isPrimaryExpression(): boolean; public isMemberExpression(): boolean; public isPostfixExpression(): boolean; public isUnaryExpression(): boolean; public isExpression(): boolean; public update(functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionExpressionSyntax; static create(functionKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionExpressionSyntax; static create1(): FunctionExpressionSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): FunctionExpressionSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): FunctionExpressionSyntax; public withFunctionKeyword(functionKeyword: ISyntaxToken): FunctionExpressionSyntax; public withIdentifier(identifier: ISyntaxToken): FunctionExpressionSyntax; public withCallSignature(callSignature: CallSignatureSyntax): FunctionExpressionSyntax; public withBlock(block: BlockSyntax): FunctionExpressionSyntax; public isTypeScriptSpecific(): boolean; } class EmptyStatementSyntax extends SyntaxNode implements IStatementSyntax { public semicolonToken: ISyntaxToken; constructor(semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isStatement(): boolean; public isModuleElement(): boolean; public update(semicolonToken: ISyntaxToken): EmptyStatementSyntax; static create1(): EmptyStatementSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): EmptyStatementSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): EmptyStatementSyntax; public withSemicolonToken(semicolonToken: ISyntaxToken): EmptyStatementSyntax; public isTypeScriptSpecific(): boolean; } class TryStatementSyntax extends SyntaxNode implements IStatementSyntax { public tryKeyword: ISyntaxToken; public block: BlockSyntax; public catchClause: CatchClauseSyntax; public finallyClause: FinallyClauseSyntax; constructor(tryKeyword: ISyntaxToken, block: BlockSyntax, catchClause: CatchClauseSyntax, finallyClause: FinallyClauseSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isStatement(): boolean; public isModuleElement(): boolean; public update(tryKeyword: ISyntaxToken, block: BlockSyntax, catchClause: CatchClauseSyntax, finallyClause: FinallyClauseSyntax): TryStatementSyntax; static create(tryKeyword: ISyntaxToken, block: BlockSyntax): TryStatementSyntax; static create1(): TryStatementSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): TryStatementSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): TryStatementSyntax; public withTryKeyword(tryKeyword: ISyntaxToken): TryStatementSyntax; public withBlock(block: BlockSyntax): TryStatementSyntax; public withCatchClause(catchClause: CatchClauseSyntax): TryStatementSyntax; public withFinallyClause(finallyClause: FinallyClauseSyntax): TryStatementSyntax; public isTypeScriptSpecific(): boolean; } class CatchClauseSyntax extends SyntaxNode { public catchKeyword: ISyntaxToken; public openParenToken: ISyntaxToken; public identifier: ISyntaxToken; public typeAnnotation: TypeAnnotationSyntax; public closeParenToken: ISyntaxToken; public block: BlockSyntax; constructor(catchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, identifier: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, closeParenToken: ISyntaxToken, block: BlockSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public update(catchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, identifier: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, closeParenToken: ISyntaxToken, block: BlockSyntax): CatchClauseSyntax; static create(catchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, identifier: ISyntaxToken, closeParenToken: ISyntaxToken, block: BlockSyntax): CatchClauseSyntax; static create1(identifier: ISyntaxToken): CatchClauseSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): CatchClauseSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): CatchClauseSyntax; public withCatchKeyword(catchKeyword: ISyntaxToken): CatchClauseSyntax; public withOpenParenToken(openParenToken: ISyntaxToken): CatchClauseSyntax; public withIdentifier(identifier: ISyntaxToken): CatchClauseSyntax; public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): CatchClauseSyntax; public withCloseParenToken(closeParenToken: ISyntaxToken): CatchClauseSyntax; public withBlock(block: BlockSyntax): CatchClauseSyntax; public isTypeScriptSpecific(): boolean; } class FinallyClauseSyntax extends SyntaxNode { public finallyKeyword: ISyntaxToken; public block: BlockSyntax; constructor(finallyKeyword: ISyntaxToken, block: BlockSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public update(finallyKeyword: ISyntaxToken, block: BlockSyntax): FinallyClauseSyntax; static create1(): FinallyClauseSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): FinallyClauseSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): FinallyClauseSyntax; public withFinallyKeyword(finallyKeyword: ISyntaxToken): FinallyClauseSyntax; public withBlock(block: BlockSyntax): FinallyClauseSyntax; public isTypeScriptSpecific(): boolean; } class LabeledStatementSyntax extends SyntaxNode implements IStatementSyntax { public identifier: ISyntaxToken; public colonToken: ISyntaxToken; public statement: IStatementSyntax; constructor(identifier: ISyntaxToken, colonToken: ISyntaxToken, statement: IStatementSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isStatement(): boolean; public isModuleElement(): boolean; public update(identifier: ISyntaxToken, colonToken: ISyntaxToken, statement: IStatementSyntax): LabeledStatementSyntax; static create1(identifier: ISyntaxToken, statement: IStatementSyntax): LabeledStatementSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): LabeledStatementSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): LabeledStatementSyntax; public withIdentifier(identifier: ISyntaxToken): LabeledStatementSyntax; public withColonToken(colonToken: ISyntaxToken): LabeledStatementSyntax; public withStatement(statement: IStatementSyntax): LabeledStatementSyntax; public isTypeScriptSpecific(): boolean; } class DoStatementSyntax extends SyntaxNode implements IIterationStatementSyntax { public doKeyword: ISyntaxToken; public statement: IStatementSyntax; public whileKeyword: ISyntaxToken; public openParenToken: ISyntaxToken; public condition: IExpressionSyntax; public closeParenToken: ISyntaxToken; public semicolonToken: ISyntaxToken; constructor(doKeyword: ISyntaxToken, statement: IStatementSyntax, whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isIterationStatement(): boolean; public isStatement(): boolean; public isModuleElement(): boolean; public update(doKeyword: ISyntaxToken, statement: IStatementSyntax, whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, semicolonToken: ISyntaxToken): DoStatementSyntax; static create1(statement: IStatementSyntax, condition: IExpressionSyntax): DoStatementSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): DoStatementSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): DoStatementSyntax; public withDoKeyword(doKeyword: ISyntaxToken): DoStatementSyntax; public withStatement(statement: IStatementSyntax): DoStatementSyntax; public withWhileKeyword(whileKeyword: ISyntaxToken): DoStatementSyntax; public withOpenParenToken(openParenToken: ISyntaxToken): DoStatementSyntax; public withCondition(condition: IExpressionSyntax): DoStatementSyntax; public withCloseParenToken(closeParenToken: ISyntaxToken): DoStatementSyntax; public withSemicolonToken(semicolonToken: ISyntaxToken): DoStatementSyntax; public isTypeScriptSpecific(): boolean; } class TypeOfExpressionSyntax extends SyntaxNode implements IUnaryExpressionSyntax { public typeOfKeyword: ISyntaxToken; public expression: IUnaryExpressionSyntax; constructor(typeOfKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isUnaryExpression(): boolean; public isExpression(): boolean; public update(typeOfKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): TypeOfExpressionSyntax; static create1(expression: IUnaryExpressionSyntax): TypeOfExpressionSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): TypeOfExpressionSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): TypeOfExpressionSyntax; public withTypeOfKeyword(typeOfKeyword: ISyntaxToken): TypeOfExpressionSyntax; public withExpression(expression: IUnaryExpressionSyntax): TypeOfExpressionSyntax; public isTypeScriptSpecific(): boolean; } class DeleteExpressionSyntax extends SyntaxNode implements IUnaryExpressionSyntax { public deleteKeyword: ISyntaxToken; public expression: IUnaryExpressionSyntax; constructor(deleteKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isUnaryExpression(): boolean; public isExpression(): boolean; public update(deleteKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): DeleteExpressionSyntax; static create1(expression: IUnaryExpressionSyntax): DeleteExpressionSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): DeleteExpressionSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): DeleteExpressionSyntax; public withDeleteKeyword(deleteKeyword: ISyntaxToken): DeleteExpressionSyntax; public withExpression(expression: IUnaryExpressionSyntax): DeleteExpressionSyntax; public isTypeScriptSpecific(): boolean; } class VoidExpressionSyntax extends SyntaxNode implements IUnaryExpressionSyntax { public voidKeyword: ISyntaxToken; public expression: IUnaryExpressionSyntax; constructor(voidKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isUnaryExpression(): boolean; public isExpression(): boolean; public update(voidKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): VoidExpressionSyntax; static create1(expression: IUnaryExpressionSyntax): VoidExpressionSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): VoidExpressionSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): VoidExpressionSyntax; public withVoidKeyword(voidKeyword: ISyntaxToken): VoidExpressionSyntax; public withExpression(expression: IUnaryExpressionSyntax): VoidExpressionSyntax; public isTypeScriptSpecific(): boolean; } class DebuggerStatementSyntax extends SyntaxNode implements IStatementSyntax { public debuggerKeyword: ISyntaxToken; public semicolonToken: ISyntaxToken; constructor(debuggerKeyword: ISyntaxToken, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); public accept(visitor: ISyntaxVisitor): any; public kind(): SyntaxKind; public childCount(): number; public childAt(slot: number): ISyntaxElement; public isStatement(): boolean; public isModuleElement(): boolean; public update(debuggerKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): DebuggerStatementSyntax; static create1(): DebuggerStatementSyntax; public withLeadingTrivia(trivia: ISyntaxTriviaList): DebuggerStatementSyntax; public withTrailingTrivia(trivia: ISyntaxTriviaList): DebuggerStatementSyntax; public withDebuggerKeyword(debuggerKeyword: ISyntaxToken): DebuggerStatementSyntax; public withSemicolonToken(semicolonToken: ISyntaxToken): DebuggerStatementSyntax; public isTypeScriptSpecific(): boolean; } } declare module TypeScript { class SyntaxRewriter implements ISyntaxVisitor { public visitToken(token: ISyntaxToken): ISyntaxToken; public visitNode(node: SyntaxNode): SyntaxNode; public visitNodeOrToken(node: ISyntaxNodeOrToken): ISyntaxNodeOrToken; public visitList(list: ISyntaxList): ISyntaxList; public visitSeparatedList(list: ISeparatedSyntaxList): ISeparatedSyntaxList; public visitSourceUnit(node: SourceUnitSyntax): any; public visitExternalModuleReference(node: ExternalModuleReferenceSyntax): any; public visitModuleNameModuleReference(node: ModuleNameModuleReferenceSyntax): any; public visitImportDeclaration(node: ImportDeclarationSyntax): any; public visitExportAssignment(node: ExportAssignmentSyntax): any; public visitClassDeclaration(node: ClassDeclarationSyntax): any; public visitInterfaceDeclaration(node: InterfaceDeclarationSyntax): any; public visitHeritageClause(node: HeritageClauseSyntax): any; public visitModuleDeclaration(node: ModuleDeclarationSyntax): any; public visitFunctionDeclaration(node: FunctionDeclarationSyntax): any; public visitVariableStatement(node: VariableStatementSyntax): any; public visitVariableDeclaration(node: VariableDeclarationSyntax): any; public visitVariableDeclarator(node: VariableDeclaratorSyntax): any; public visitEqualsValueClause(node: EqualsValueClauseSyntax): any; public visitPrefixUnaryExpression(node: PrefixUnaryExpressionSyntax): any; public visitArrayLiteralExpression(node: ArrayLiteralExpressionSyntax): any; public visitOmittedExpression(node: OmittedExpressionSyntax): any; public visitParenthesizedExpression(node: ParenthesizedExpressionSyntax): any; public visitSimpleArrowFunctionExpression(node: SimpleArrowFunctionExpressionSyntax): any; public visitParenthesizedArrowFunctionExpression(node: ParenthesizedArrowFunctionExpressionSyntax): any; public visitQualifiedName(node: QualifiedNameSyntax): any; public visitTypeArgumentList(node: TypeArgumentListSyntax): any; public visitConstructorType(node: ConstructorTypeSyntax): any; public visitFunctionType(node: FunctionTypeSyntax): any; public visitObjectType(node: ObjectTypeSyntax): any; public visitArrayType(node: ArrayTypeSyntax): any; public visitGenericType(node: GenericTypeSyntax): any; public visitTypeQuery(node: TypeQuerySyntax): any; public visitTypeAnnotation(node: TypeAnnotationSyntax): any; public visitBlock(node: BlockSyntax): any; public visitParameter(node: ParameterSyntax): any; public visitMemberAccessExpression(node: MemberAccessExpressionSyntax): any; public visitPostfixUnaryExpression(node: PostfixUnaryExpressionSyntax): any; public visitElementAccessExpression(node: ElementAccessExpressionSyntax): any; public visitInvocationExpression(node: InvocationExpressionSyntax): any; public visitArgumentList(node: ArgumentListSyntax): any; public visitBinaryExpression(node: BinaryExpressionSyntax): any; public visitConditionalExpression(node: ConditionalExpressionSyntax): any; public visitConstructSignature(node: ConstructSignatureSyntax): any; public visitMethodSignature(node: MethodSignatureSyntax): any; public visitIndexSignature(node: IndexSignatureSyntax): any; public visitPropertySignature(node: PropertySignatureSyntax): any; public visitCallSignature(node: CallSignatureSyntax): any; public visitParameterList(node: ParameterListSyntax): any; public visitTypeParameterList(node: TypeParameterListSyntax): any; public visitTypeParameter(node: TypeParameterSyntax): any; public visitConstraint(node: ConstraintSyntax): any; public visitElseClause(node: ElseClauseSyntax): any; public visitIfStatement(node: IfStatementSyntax): any; public visitExpressionStatement(node: ExpressionStatementSyntax): any; public visitConstructorDeclaration(node: ConstructorDeclarationSyntax): any; public visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): any; public visitGetAccessor(node: GetAccessorSyntax): any; public visitSetAccessor(node: SetAccessorSyntax): any; public visitMemberVariableDeclaration(node: MemberVariableDeclarationSyntax): any; public visitIndexMemberDeclaration(node: IndexMemberDeclarationSyntax): any; public visitThrowStatement(node: ThrowStatementSyntax): any; public visitReturnStatement(node: ReturnStatementSyntax): any; public visitObjectCreationExpression(node: ObjectCreationExpressionSyntax): any; public visitSwitchStatement(node: SwitchStatementSyntax): any; public visitCaseSwitchClause(node: CaseSwitchClauseSyntax): any; public visitDefaultSwitchClause(node: DefaultSwitchClauseSyntax): any; public visitBreakStatement(node: BreakStatementSyntax): any; public visitContinueStatement(node: ContinueStatementSyntax): any; public visitForStatement(node: ForStatementSyntax): any; public visitForInStatement(node: ForInStatementSyntax): any; public visitWhileStatement(node: WhileStatementSyntax): any; public visitWithStatement(node: WithStatementSyntax): any; public visitEnumDeclaration(node: EnumDeclarationSyntax): any; public visitEnumElement(node: EnumElementSyntax): any; public visitCastExpression(node: CastExpressionSyntax): any; public visitObjectLiteralExpression(node: ObjectLiteralExpressionSyntax): any; public visitSimplePropertyAssignment(node: SimplePropertyAssignmentSyntax): any; public visitFunctionPropertyAssignment(node: FunctionPropertyAssignmentSyntax): any; public visitFunctionExpression(node: FunctionExpressionSyntax): any; public visitEmptyStatement(node: EmptyStatementSyntax): any; public visitTryStatement(node: TryStatementSyntax): any; public visitCatchClause(node: CatchClauseSyntax): any; public visitFinallyClause(node: FinallyClauseSyntax): any; public visitLabeledStatement(node: LabeledStatementSyntax): any; public visitDoStatement(node: DoStatementSyntax): any; public visitTypeOfExpression(node: TypeOfExpressionSyntax): any; public visitDeleteExpression(node: DeleteExpressionSyntax): any; public visitVoidExpression(node: VoidExpressionSyntax): any; public visitDebuggerStatement(node: DebuggerStatementSyntax): any; } } declare module TypeScript { class SyntaxDedenter extends SyntaxRewriter { private dedentationAmount; private minimumIndent; private options; private lastTriviaWasNewLine; constructor(dedentFirstToken: boolean, dedentationAmount: number, minimumIndent: number, options: FormattingOptions); private abort(); private isAborted(); public visitToken(token: ISyntaxToken): ISyntaxToken; private dedentTriviaList(triviaList); private dedentSegment(segment, hasFollowingNewLineTrivia); private dedentWhitespace(trivia, hasFollowingNewLineTrivia); private dedentMultiLineComment(trivia); static dedentNode(node: ISyntaxNode, dedentFirstToken: boolean, dedentAmount: number, minimumIndent: number, options: FormattingOptions): ISyntaxNode; } } declare module TypeScript { class SyntaxIndenter extends SyntaxRewriter { private indentationAmount; private options; private lastTriviaWasNewLine; private indentationTrivia; constructor(indentFirstToken: boolean, indentationAmount: number, options: FormattingOptions); public visitToken(token: ISyntaxToken): ISyntaxToken; public indentTriviaList(triviaList: ISyntaxTriviaList): ISyntaxTriviaList; private indentSegment(segment); private indentWhitespace(trivia, indentThisTrivia, result); private indentSingleLineOrSkippedText(trivia, indentThisTrivia, result); private indentMultiLineComment(trivia, indentThisTrivia, result); static indentNode(node: ISyntaxNode, indentFirstToken: boolean, indentAmount: number, options: FormattingOptions): SyntaxNode; static indentNodes(nodes: SyntaxNode[], indentFirstToken: boolean, indentAmount: number, options: FormattingOptions): SyntaxNode[]; } } declare module TypeScript.Syntax { class VariableWidthTokenWithNoTrivia implements ISyntaxToken { private _fullText; public tokenKind: SyntaxKind; constructor(fullText: string, kind: SyntaxKind); public clone(): ISyntaxToken; public isNode(): boolean; public isToken(): boolean; public isList(): boolean; public isSeparatedList(): boolean; public kind(): SyntaxKind; public childCount(): number; public childAt(index: number): ISyntaxElement; public fullWidth(): number; public width(): number; public text(): string; public fullText(): string; public value(): any; public valueText(): string; public hasLeadingTrivia(): boolean; public hasLeadingComment(): boolean; public hasLeadingNewLine(): boolean; public hasLeadingSkippedText(): boolean; public leadingTriviaWidth(): number; public leadingTrivia(): ISyntaxTriviaList; public hasTrailingTrivia(): boolean; public hasTrailingComment(): boolean; public hasTrailingNewLine(): boolean; public hasTrailingSkippedText(): boolean; public trailingTriviaWidth(): number; public trailingTrivia(): ISyntaxTriviaList; public hasSkippedToken(): boolean; public toJSON(key: any): any; public firstToken(): ISyntaxToken; public lastToken(): ISyntaxToken; public isTypeScriptSpecific(): boolean; public isIncrementallyUnusable(): boolean; public accept(visitor: ISyntaxVisitor): any; private realize(); public collectTextElements(elements: string[]): void; private findTokenInternal(parent, position, fullStart); public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken; public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken; public isExpression(): boolean; public isPrimaryExpression(): boolean; public isMemberExpression(): boolean; public isPostfixExpression(): boolean; public isUnaryExpression(): boolean; } class VariableWidthTokenWithLeadingTrivia implements ISyntaxToken { private _fullText; public tokenKind: SyntaxKind; private _leadingTriviaInfo; constructor(fullText: string, kind: SyntaxKind, leadingTriviaInfo: number); public clone(): ISyntaxToken; public isNode(): boolean; public isToken(): boolean; public isList(): boolean; public isSeparatedList(): boolean; public kind(): SyntaxKind; public childCount(): number; public childAt(index: number): ISyntaxElement; public fullWidth(): number; public width(): number; public text(): string; public fullText(): string; public value(): any; public valueText(): string; public hasLeadingTrivia(): boolean; public hasLeadingComment(): boolean; public hasLeadingNewLine(): boolean; public hasLeadingSkippedText(): boolean; public leadingTriviaWidth(): number; public leadingTrivia(): ISyntaxTriviaList; public hasTrailingTrivia(): boolean; public hasTrailingComment(): boolean; public hasTrailingNewLine(): boolean; public hasTrailingSkippedText(): boolean; public trailingTriviaWidth(): number; public trailingTrivia(): ISyntaxTriviaList; public hasSkippedToken(): boolean; public toJSON(key: any): any; public firstToken(): ISyntaxToken; public lastToken(): ISyntaxToken; public isTypeScriptSpecific(): boolean; public isIncrementallyUnusable(): boolean; public accept(visitor: ISyntaxVisitor): any; private realize(); public collectTextElements(elements: string[]): void; private findTokenInternal(parent, position, fullStart); public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken; public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken; public isExpression(): boolean; public isPrimaryExpression(): boolean; public isMemberExpression(): boolean; public isPostfixExpression(): boolean; public isUnaryExpression(): boolean; } class VariableWidthTokenWithTrailingTrivia implements ISyntaxToken { private _fullText; public tokenKind: SyntaxKind; private _trailingTriviaInfo; constructor(fullText: string, kind: SyntaxKind, trailingTriviaInfo: number); public clone(): ISyntaxToken; public isNode(): boolean; public isToken(): boolean; public isList(): boolean; public isSeparatedList(): boolean; public kind(): SyntaxKind; public childCount(): number; public childAt(index: number): ISyntaxElement; public fullWidth(): number; public width(): number; public text(): string; public fullText(): string; public value(): any; public valueText(): string; public hasLeadingTrivia(): boolean; public hasLeadingComment(): boolean; public hasLeadingNewLine(): boolean; public hasLeadingSkippedText(): boolean; public leadingTriviaWidth(): number; public leadingTrivia(): ISyntaxTriviaList; public hasTrailingTrivia(): boolean; public hasTrailingComment(): boolean; public hasTrailingNewLine(): boolean; public hasTrailingSkippedText(): boolean; public trailingTriviaWidth(): number; public trailingTrivia(): ISyntaxTriviaList; public hasSkippedToken(): boolean; public toJSON(key: any): any; public firstToken(): ISyntaxToken; public lastToken(): ISyntaxToken; public isTypeScriptSpecific(): boolean; public isIncrementallyUnusable(): boolean; public accept(visitor: ISyntaxVisitor): any; private realize(); public collectTextElements(elements: string[]): void; private findTokenInternal(parent, position, fullStart); public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken; public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken; public isExpression(): boolean; public isPrimaryExpression(): boolean; public isMemberExpression(): boolean; public isPostfixExpression(): boolean; public isUnaryExpression(): boolean; } class VariableWidthTokenWithLeadingAndTrailingTrivia implements ISyntaxToken { private _fullText; public tokenKind: SyntaxKind; private _leadingTriviaInfo; private _trailingTriviaInfo; constructor(fullText: string, kind: SyntaxKind, leadingTriviaInfo: number, trailingTriviaInfo: number); public clone(): ISyntaxToken; public isNode(): boolean; public isToken(): boolean; public isList(): boolean; public isSeparatedList(): boolean; public kind(): SyntaxKind; public childCount(): number; public childAt(index: number): ISyntaxElement; public fullWidth(): number; public width(): number; public text(): string; public fullText(): string; public value(): any; public valueText(): string; public hasLeadingTrivia(): boolean; public hasLeadingComment(): boolean; public hasLeadingNewLine(): boolean; public hasLeadingSkippedText(): boolean; public leadingTriviaWidth(): number; public leadingTrivia(): ISyntaxTriviaList; public hasTrailingTrivia(): boolean; public hasTrailingComment(): boolean; public hasTrailingNewLine(): boolean; public hasTrailingSkippedText(): boolean; public trailingTriviaWidth(): number; public trailingTrivia(): ISyntaxTriviaList; public hasSkippedToken(): boolean; public toJSON(key: any): any; public firstToken(): ISyntaxToken; public lastToken(): ISyntaxToken; public isTypeScriptSpecific(): boolean; public isIncrementallyUnusable(): boolean; public accept(visitor: ISyntaxVisitor): any; private realize(); public collectTextElements(elements: string[]): void; private findTokenInternal(parent, position, fullStart); public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken; public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken; public isExpression(): boolean; public isPrimaryExpression(): boolean; public isMemberExpression(): boolean; public isPostfixExpression(): boolean; public isUnaryExpression(): boolean; } class FixedWidthTokenWithNoTrivia implements ISyntaxToken { public tokenKind: SyntaxKind; constructor(kind: SyntaxKind); public clone(): ISyntaxToken; public isNode(): boolean; public isToken(): boolean; public isList(): boolean; public isSeparatedList(): boolean; public kind(): SyntaxKind; public childCount(): number; public childAt(index: number): ISyntaxElement; public fullWidth(): number; public width(): number; public text(): string; public fullText(): string; public value(): any; public valueText(): string; public hasLeadingTrivia(): boolean; public hasLeadingComment(): boolean; public hasLeadingNewLine(): boolean; public hasLeadingSkippedText(): boolean; public leadingTriviaWidth(): number; public leadingTrivia(): ISyntaxTriviaList; public hasTrailingTrivia(): boolean; public hasTrailingComment(): boolean; public hasTrailingNewLine(): boolean; public hasTrailingSkippedText(): boolean; public trailingTriviaWidth(): number; public trailingTrivia(): ISyntaxTriviaList; public hasSkippedToken(): boolean; public toJSON(key: any): any; public firstToken(): ISyntaxToken; public lastToken(): ISyntaxToken; public isTypeScriptSpecific(): boolean; public isIncrementallyUnusable(): boolean; public accept(visitor: ISyntaxVisitor): any; private realize(); public collectTextElements(elements: string[]): void; private findTokenInternal(parent, position, fullStart); public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken; public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken; public isExpression(): boolean; public isPrimaryExpression(): boolean; public isMemberExpression(): boolean; public isPostfixExpression(): boolean; public isUnaryExpression(): boolean; } class FixedWidthTokenWithLeadingTrivia implements ISyntaxToken { private _fullText; public tokenKind: SyntaxKind; private _leadingTriviaInfo; constructor(fullText: string, kind: SyntaxKind, leadingTriviaInfo: number); public clone(): ISyntaxToken; public isNode(): boolean; public isToken(): boolean; public isList(): boolean; public isSeparatedList(): boolean; public kind(): SyntaxKind; public childCount(): number; public childAt(index: number): ISyntaxElement; public fullWidth(): number; public width(): number; public text(): string; public fullText(): string; public value(): any; public valueText(): string; public hasLeadingTrivia(): boolean; public hasLeadingComment(): boolean; public hasLeadingNewLine(): boolean; public hasLeadingSkippedText(): boolean; public leadingTriviaWidth(): number; public leadingTrivia(): ISyntaxTriviaList; public hasTrailingTrivia(): boolean; public hasTrailingComment(): boolean; public hasTrailingNewLine(): boolean; public hasTrailingSkippedText(): boolean; public trailingTriviaWidth(): number; public trailingTrivia(): ISyntaxTriviaList; public hasSkippedToken(): boolean; public toJSON(key: any): any; public firstToken(): ISyntaxToken; public lastToken(): ISyntaxToken; public isTypeScriptSpecific(): boolean; public isIncrementallyUnusable(): boolean; public accept(visitor: ISyntaxVisitor): any; private realize(); public collectTextElements(elements: string[]): void; private findTokenInternal(parent, position, fullStart); public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken; public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken; public isExpression(): boolean; public isPrimaryExpression(): boolean; public isMemberExpression(): boolean; public isPostfixExpression(): boolean; public isUnaryExpression(): boolean; } class FixedWidthTokenWithTrailingTrivia implements ISyntaxToken { private _fullText; public tokenKind: SyntaxKind; private _trailingTriviaInfo; constructor(fullText: string, kind: SyntaxKind, trailingTriviaInfo: number); public clone(): ISyntaxToken; public isNode(): boolean; public isToken(): boolean; public isList(): boolean; public isSeparatedList(): boolean; public kind(): SyntaxKind; public childCount(): number; public childAt(index: number): ISyntaxElement; public fullWidth(): number; public width(): number; public text(): string; public fullText(): string; public value(): any; public valueText(): string; public hasLeadingTrivia(): boolean; public hasLeadingComment(): boolean; public hasLeadingNewLine(): boolean; public hasLeadingSkippedText(): boolean; public leadingTriviaWidth(): number; public leadingTrivia(): ISyntaxTriviaList; public hasTrailingTrivia(): boolean; public hasTrailingComment(): boolean; public hasTrailingNewLine(): boolean; public hasTrailingSkippedText(): boolean; public trailingTriviaWidth(): number; public trailingTrivia(): ISyntaxTriviaList; public hasSkippedToken(): boolean; public toJSON(key: any): any; public firstToken(): ISyntaxToken; public lastToken(): ISyntaxToken; public isTypeScriptSpecific(): boolean; public isIncrementallyUnusable(): boolean; public accept(visitor: ISyntaxVisitor): any; private realize(); public collectTextElements(elements: string[]): void; private findTokenInternal(parent, position, fullStart); public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken; public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken; public isExpression(): boolean; public isPrimaryExpression(): boolean; public isMemberExpression(): boolean; public isPostfixExpression(): boolean; public isUnaryExpression(): boolean; } class FixedWidthTokenWithLeadingAndTrailingTrivia implements ISyntaxToken { private _fullText; public tokenKind: SyntaxKind; private _leadingTriviaInfo; private _trailingTriviaInfo; constructor(fullText: string, kind: SyntaxKind, leadingTriviaInfo: number, trailingTriviaInfo: number); public clone(): ISyntaxToken; public isNode(): boolean; public isToken(): boolean; public isList(): boolean; public isSeparatedList(): boolean; public kind(): SyntaxKind; public childCount(): number; public childAt(index: number): ISyntaxElement; public fullWidth(): number; public width(): number; public text(): string; public fullText(): string; public value(): any; public valueText(): string; public hasLeadingTrivia(): boolean; public hasLeadingComment(): boolean; public hasLeadingNewLine(): boolean; public hasLeadingSkippedText(): boolean; public leadingTriviaWidth(): number; public leadingTrivia(): ISyntaxTriviaList; public hasTrailingTrivia(): boolean; public hasTrailingComment(): boolean; public hasTrailingNewLine(): boolean; public hasTrailingSkippedText(): boolean; public trailingTriviaWidth(): number; public trailingTrivia(): ISyntaxTriviaList; public hasSkippedToken(): boolean; public toJSON(key: any): any; public firstToken(): ISyntaxToken; public lastToken(): ISyntaxToken; public isTypeScriptSpecific(): boolean; public isIncrementallyUnusable(): boolean; public accept(visitor: ISyntaxVisitor): any; private realize(); public collectTextElements(elements: string[]): void; private findTokenInternal(parent, position, fullStart); public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken; public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken; public isExpression(): boolean; public isPrimaryExpression(): boolean; public isMemberExpression(): boolean; public isPostfixExpression(): boolean; public isUnaryExpression(): boolean; } } declare module TypeScript { interface ISyntaxToken extends ISyntaxNodeOrToken, INameSyntax, IPrimaryExpressionSyntax { tokenKind: SyntaxKind; text(): string; value(): any; valueText(): string; hasLeadingTrivia(): boolean; hasLeadingComment(): boolean; hasLeadingNewLine(): boolean; hasLeadingSkippedText(): boolean; hasTrailingTrivia(): boolean; hasTrailingComment(): boolean; hasTrailingNewLine(): boolean; hasTrailingSkippedText(): boolean; hasSkippedToken(): boolean; leadingTrivia(): ISyntaxTriviaList; trailingTrivia(): ISyntaxTriviaList; withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken; withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken; clone(): ISyntaxToken; } interface ITokenInfo { leadingTrivia?: ISyntaxTrivia[]; text?: string; trailingTrivia?: ISyntaxTrivia[]; } } declare module TypeScript.Syntax { function isExpression(token: ISyntaxToken): boolean; function realizeToken(token: ISyntaxToken): ISyntaxToken; function convertToIdentifierName(token: ISyntaxToken): ISyntaxToken; function tokenToJSON(token: ISyntaxToken): any; function value(token: ISyntaxToken): any; function massageEscapes(text: string): string; function valueText(token: ISyntaxToken): string; function emptyToken(kind: SyntaxKind): ISyntaxToken; function token(kind: SyntaxKind, info?: ITokenInfo): ISyntaxToken; function identifier(text: string, info?: ITokenInfo): ISyntaxToken; } declare module TypeScript { class SyntaxTokenReplacer extends SyntaxRewriter { private token1; private token2; constructor(token1: ISyntaxToken, token2: ISyntaxToken); public visitToken(token: ISyntaxToken): ISyntaxToken; public visitNode(node: SyntaxNode): SyntaxNode; public visitList(list: ISyntaxList): ISyntaxList; public visitSeparatedList(list: ISeparatedSyntaxList): ISeparatedSyntaxList; } } declare module TypeScript { interface ISyntaxTrivia { kind(): SyntaxKind; isWhitespace(): boolean; isComment(): boolean; isNewLine(): boolean; isSkippedToken(): boolean; fullWidth(): number; fullText(): string; skippedToken(): ISyntaxToken; } } declare module TypeScript.Syntax { function deferredTrivia(kind: SyntaxKind, text: ISimpleText, fullStart: number, fullWidth: number): ISyntaxTrivia; function trivia(kind: SyntaxKind, text: string): ISyntaxTrivia; function skippedTokenTrivia(token: ISyntaxToken): ISyntaxTrivia; function spaces(count: number): ISyntaxTrivia; function whitespace(text: string): ISyntaxTrivia; function multiLineComment(text: string): ISyntaxTrivia; function singleLineComment(text: string): ISyntaxTrivia; var spaceTrivia: ISyntaxTrivia; var lineFeedTrivia: ISyntaxTrivia; var carriageReturnTrivia: ISyntaxTrivia; var carriageReturnLineFeedTrivia: ISyntaxTrivia; function splitMultiLineCommentTriviaIntoMultipleLines(trivia: ISyntaxTrivia): string[]; } declare module TypeScript { interface ISyntaxTriviaList { count(): number; syntaxTriviaAt(index: number): ISyntaxTrivia; fullWidth(): number; fullText(): string; hasComment(): boolean; hasNewLine(): boolean; hasSkippedToken(): boolean; last(): ISyntaxTrivia; toArray(): ISyntaxTrivia[]; concat(trivia: ISyntaxTriviaList): ISyntaxTriviaList; collectTextElements(elements: string[]): void; } } declare module TypeScript.Syntax { var emptyTriviaList: ISyntaxTriviaList; function triviaList(trivia: ISyntaxTrivia[]): ISyntaxTriviaList; var spaceTriviaList: ISyntaxTriviaList; } declare module TypeScript { class SyntaxUtilities { static isAngleBracket(positionedElement: PositionedElement): boolean; static getToken(list: ISyntaxList, kind: SyntaxKind): ISyntaxToken; static containsToken(list: ISyntaxList, kind: SyntaxKind): boolean; static hasExportKeyword(moduleElement: IModuleElementSyntax): boolean; static getExportKeyword(moduleElement: IModuleElementSyntax): ISyntaxToken; static isAmbientDeclarationSyntax(positionNode: PositionedNode): boolean; } } declare module TypeScript { interface ISyntaxVisitor { visitToken(token: ISyntaxToken): any; visitSourceUnit(node: SourceUnitSyntax): any; visitExternalModuleReference(node: ExternalModuleReferenceSyntax): any; visitModuleNameModuleReference(node: ModuleNameModuleReferenceSyntax): any; visitImportDeclaration(node: ImportDeclarationSyntax): any; visitExportAssignment(node: ExportAssignmentSyntax): any; visitClassDeclaration(node: ClassDeclarationSyntax): any; visitInterfaceDeclaration(node: InterfaceDeclarationSyntax): any; visitHeritageClause(node: HeritageClauseSyntax): any; visitModuleDeclaration(node: ModuleDeclarationSyntax): any; visitFunctionDeclaration(node: FunctionDeclarationSyntax): any; visitVariableStatement(node: VariableStatementSyntax): any; visitVariableDeclaration(node: VariableDeclarationSyntax): any; visitVariableDeclarator(node: VariableDeclaratorSyntax): any; visitEqualsValueClause(node: EqualsValueClauseSyntax): any; visitPrefixUnaryExpression(node: PrefixUnaryExpressionSyntax): any; visitArrayLiteralExpression(node: ArrayLiteralExpressionSyntax): any; visitOmittedExpression(node: OmittedExpressionSyntax): any; visitParenthesizedExpression(node: ParenthesizedExpressionSyntax): any; visitSimpleArrowFunctionExpression(node: SimpleArrowFunctionExpressionSyntax): any; visitParenthesizedArrowFunctionExpression(node: ParenthesizedArrowFunctionExpressionSyntax): any; visitQualifiedName(node: QualifiedNameSyntax): any; visitTypeArgumentList(node: TypeArgumentListSyntax): any; visitConstructorType(node: ConstructorTypeSyntax): any; visitFunctionType(node: FunctionTypeSyntax): any; visitObjectType(node: ObjectTypeSyntax): any; visitArrayType(node: ArrayTypeSyntax): any; visitGenericType(node: GenericTypeSyntax): any; visitTypeQuery(node: TypeQuerySyntax): any; visitTypeAnnotation(node: TypeAnnotationSyntax): any; visitBlock(node: BlockSyntax): any; visitParameter(node: ParameterSyntax): any; visitMemberAccessExpression(node: MemberAccessExpressionSyntax): any; visitPostfixUnaryExpression(node: PostfixUnaryExpressionSyntax): any; visitElementAccessExpression(node: ElementAccessExpressionSyntax): any; visitInvocationExpression(node: InvocationExpressionSyntax): any; visitArgumentList(node: ArgumentListSyntax): any; visitBinaryExpression(node: BinaryExpressionSyntax): any; visitConditionalExpression(node: ConditionalExpressionSyntax): any; visitConstructSignature(node: ConstructSignatureSyntax): any; visitMethodSignature(node: MethodSignatureSyntax): any; visitIndexSignature(node: IndexSignatureSyntax): any; visitPropertySignature(node: PropertySignatureSyntax): any; visitCallSignature(node: CallSignatureSyntax): any; visitParameterList(node: ParameterListSyntax): any; visitTypeParameterList(node: TypeParameterListSyntax): any; visitTypeParameter(node: TypeParameterSyntax): any; visitConstraint(node: ConstraintSyntax): any; visitElseClause(node: ElseClauseSyntax): any; visitIfStatement(node: IfStatementSyntax): any; visitExpressionStatement(node: ExpressionStatementSyntax): any; visitConstructorDeclaration(node: ConstructorDeclarationSyntax): any; visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): any; visitGetAccessor(node: GetAccessorSyntax): any; visitSetAccessor(node: SetAccessorSyntax): any; visitMemberVariableDeclaration(node: MemberVariableDeclarationSyntax): any; visitIndexMemberDeclaration(node: IndexMemberDeclarationSyntax): any; visitThrowStatement(node: ThrowStatementSyntax): any; visitReturnStatement(node: ReturnStatementSyntax): any; visitObjectCreationExpression(node: ObjectCreationExpressionSyntax): any; visitSwitchStatement(node: SwitchStatementSyntax): any; visitCaseSwitchClause(node: CaseSwitchClauseSyntax): any; visitDefaultSwitchClause(node: DefaultSwitchClauseSyntax): any; visitBreakStatement(node: BreakStatementSyntax): any; visitContinueStatement(node: ContinueStatementSyntax): any; visitForStatement(node: ForStatementSyntax): any; visitForInStatement(node: ForInStatementSyntax): any; visitWhileStatement(node: WhileStatementSyntax): any; visitWithStatement(node: WithStatementSyntax): any; visitEnumDeclaration(node: EnumDeclarationSyntax): any; visitEnumElement(node: EnumElementSyntax): any; visitCastExpression(node: CastExpressionSyntax): any; visitObjectLiteralExpression(node: ObjectLiteralExpressionSyntax): any; visitSimplePropertyAssignment(node: SimplePropertyAssignmentSyntax): any; visitFunctionPropertyAssignment(node: FunctionPropertyAssignmentSyntax): any; visitFunctionExpression(node: FunctionExpressionSyntax): any; visitEmptyStatement(node: EmptyStatementSyntax): any; visitTryStatement(node: TryStatementSyntax): any; visitCatchClause(node: CatchClauseSyntax): any; visitFinallyClause(node: FinallyClauseSyntax): any; visitLabeledStatement(node: LabeledStatementSyntax): any; visitDoStatement(node: DoStatementSyntax): any; visitTypeOfExpression(node: TypeOfExpressionSyntax): any; visitDeleteExpression(node: DeleteExpressionSyntax): any; visitVoidExpression(node: VoidExpressionSyntax): any; visitDebuggerStatement(node: DebuggerStatementSyntax): any; } class SyntaxVisitor implements ISyntaxVisitor { public defaultVisit(node: ISyntaxNodeOrToken): any; public visitToken(token: ISyntaxToken): any; public visitSourceUnit(node: SourceUnitSyntax): any; public visitExternalModuleReference(node: ExternalModuleReferenceSyntax): any; public visitModuleNameModuleReference(node: ModuleNameModuleReferenceSyntax): any; public visitImportDeclaration(node: ImportDeclarationSyntax): any; public visitExportAssignment(node: ExportAssignmentSyntax): any; public visitClassDeclaration(node: ClassDeclarationSyntax): any; public visitInterfaceDeclaration(node: InterfaceDeclarationSyntax): any; public visitHeritageClause(node: HeritageClauseSyntax): any; public visitModuleDeclaration(node: ModuleDeclarationSyntax): any; public visitFunctionDeclaration(node: FunctionDeclarationSyntax): any; public visitVariableStatement(node: VariableStatementSyntax): any; public visitVariableDeclaration(node: VariableDeclarationSyntax): any; public visitVariableDeclarator(node: VariableDeclaratorSyntax): any; public visitEqualsValueClause(node: EqualsValueClauseSyntax): any; public visitPrefixUnaryExpression(node: PrefixUnaryExpressionSyntax): any; public visitArrayLiteralExpression(node: ArrayLiteralExpressionSyntax): any; public visitOmittedExpression(node: OmittedExpressionSyntax): any; public visitParenthesizedExpression(node: ParenthesizedExpressionSyntax): any; public visitSimpleArrowFunctionExpression(node: SimpleArrowFunctionExpressionSyntax): any; public visitParenthesizedArrowFunctionExpression(node: ParenthesizedArrowFunctionExpressionSyntax): any; public visitQualifiedName(node: QualifiedNameSyntax): any; public visitTypeArgumentList(node: TypeArgumentListSyntax): any; public visitConstructorType(node: ConstructorTypeSyntax): any; public visitFunctionType(node: FunctionTypeSyntax): any; public visitObjectType(node: ObjectTypeSyntax): any; public visitArrayType(node: ArrayTypeSyntax): any; public visitGenericType(node: GenericTypeSyntax): any; public visitTypeQuery(node: TypeQuerySyntax): any; public visitTypeAnnotation(node: TypeAnnotationSyntax): any; public visitBlock(node: BlockSyntax): any; public visitParameter(node: ParameterSyntax): any; public visitMemberAccessExpression(node: MemberAccessExpressionSyntax): any; public visitPostfixUnaryExpression(node: PostfixUnaryExpressionSyntax): any; public visitElementAccessExpression(node: ElementAccessExpressionSyntax): any; public visitInvocationExpression(node: InvocationExpressionSyntax): any; public visitArgumentList(node: ArgumentListSyntax): any; public visitBinaryExpression(node: BinaryExpressionSyntax): any; public visitConditionalExpression(node: ConditionalExpressionSyntax): any; public visitConstructSignature(node: ConstructSignatureSyntax): any; public visitMethodSignature(node: MethodSignatureSyntax): any; public visitIndexSignature(node: IndexSignatureSyntax): any; public visitPropertySignature(node: PropertySignatureSyntax): any; public visitCallSignature(node: CallSignatureSyntax): any; public visitParameterList(node: ParameterListSyntax): any; public visitTypeParameterList(node: TypeParameterListSyntax): any; public visitTypeParameter(node: TypeParameterSyntax): any; public visitConstraint(node: ConstraintSyntax): any; public visitElseClause(node: ElseClauseSyntax): any; public visitIfStatement(node: IfStatementSyntax): any; public visitExpressionStatement(node: ExpressionStatementSyntax): any; public visitConstructorDeclaration(node: ConstructorDeclarationSyntax): any; public visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): any; public visitGetAccessor(node: GetAccessorSyntax): any; public visitSetAccessor(node: SetAccessorSyntax): any; public visitMemberVariableDeclaration(node: MemberVariableDeclarationSyntax): any; public visitIndexMemberDeclaration(node: IndexMemberDeclarationSyntax): any; public visitThrowStatement(node: ThrowStatementSyntax): any; public visitReturnStatement(node: ReturnStatementSyntax): any; public visitObjectCreationExpression(node: ObjectCreationExpressionSyntax): any; public visitSwitchStatement(node: SwitchStatementSyntax): any; public visitCaseSwitchClause(node: CaseSwitchClauseSyntax): any; public visitDefaultSwitchClause(node: DefaultSwitchClauseSyntax): any; public visitBreakStatement(node: BreakStatementSyntax): any; public visitContinueStatement(node: ContinueStatementSyntax): any; public visitForStatement(node: ForStatementSyntax): any; public visitForInStatement(node: ForInStatementSyntax): any; public visitWhileStatement(node: WhileStatementSyntax): any; public visitWithStatement(node: WithStatementSyntax): any; public visitEnumDeclaration(node: EnumDeclarationSyntax): any; public visitEnumElement(node: EnumElementSyntax): any; public visitCastExpression(node: CastExpressionSyntax): any; public visitObjectLiteralExpression(node: ObjectLiteralExpressionSyntax): any; public visitSimplePropertyAssignment(node: SimplePropertyAssignmentSyntax): any; public visitFunctionPropertyAssignment(node: FunctionPropertyAssignmentSyntax): any; public visitFunctionExpression(node: FunctionExpressionSyntax): any; public visitEmptyStatement(node: EmptyStatementSyntax): any; public visitTryStatement(node: TryStatementSyntax): any; public visitCatchClause(node: CatchClauseSyntax): any; public visitFinallyClause(node: FinallyClauseSyntax): any; public visitLabeledStatement(node: LabeledStatementSyntax): any; public visitDoStatement(node: DoStatementSyntax): any; public visitTypeOfExpression(node: TypeOfExpressionSyntax): any; public visitDeleteExpression(node: DeleteExpressionSyntax): any; public visitVoidExpression(node: VoidExpressionSyntax): any; public visitDebuggerStatement(node: DebuggerStatementSyntax): any; } } declare module TypeScript { class SyntaxWalker implements ISyntaxVisitor { public visitToken(token: ISyntaxToken): void; public visitNode(node: SyntaxNode): void; public visitNodeOrToken(nodeOrToken: ISyntaxNodeOrToken): void; private visitOptionalToken(token); public visitOptionalNode(node: SyntaxNode): void; public visitOptionalNodeOrToken(nodeOrToken: ISyntaxNodeOrToken): void; public visitList(list: ISyntaxList): void; public visitSeparatedList(list: ISeparatedSyntaxList): void; public visitSourceUnit(node: SourceUnitSyntax): void; public visitExternalModuleReference(node: ExternalModuleReferenceSyntax): void; public visitModuleNameModuleReference(node: ModuleNameModuleReferenceSyntax): void; public visitImportDeclaration(node: ImportDeclarationSyntax): void; public visitExportAssignment(node: ExportAssignmentSyntax): void; public visitClassDeclaration(node: ClassDeclarationSyntax): void; public visitInterfaceDeclaration(node: InterfaceDeclarationSyntax): void; public visitHeritageClause(node: HeritageClauseSyntax): void; public visitModuleDeclaration(node: ModuleDeclarationSyntax): void; public visitFunctionDeclaration(node: FunctionDeclarationSyntax): void; public visitVariableStatement(node: VariableStatementSyntax): void; public visitVariableDeclaration(node: VariableDeclarationSyntax): void; public visitVariableDeclarator(node: VariableDeclaratorSyntax): void; public visitEqualsValueClause(node: EqualsValueClauseSyntax): void; public visitPrefixUnaryExpression(node: PrefixUnaryExpressionSyntax): void; public visitArrayLiteralExpression(node: ArrayLiteralExpressionSyntax): void; public visitOmittedExpression(node: OmittedExpressionSyntax): void; public visitParenthesizedExpression(node: ParenthesizedExpressionSyntax): void; public visitSimpleArrowFunctionExpression(node: SimpleArrowFunctionExpressionSyntax): void; public visitParenthesizedArrowFunctionExpression(node: ParenthesizedArrowFunctionExpressionSyntax): void; public visitQualifiedName(node: QualifiedNameSyntax): void; public visitTypeArgumentList(node: TypeArgumentListSyntax): void; public visitConstructorType(node: ConstructorTypeSyntax): void; public visitFunctionType(node: FunctionTypeSyntax): void; public visitObjectType(node: ObjectTypeSyntax): void; public visitArrayType(node: ArrayTypeSyntax): void; public visitGenericType(node: GenericTypeSyntax): void; public visitTypeQuery(node: TypeQuerySyntax): void; public visitTypeAnnotation(node: TypeAnnotationSyntax): void; public visitBlock(node: BlockSyntax): void; public visitParameter(node: ParameterSyntax): void; public visitMemberAccessExpression(node: MemberAccessExpressionSyntax): void; public visitPostfixUnaryExpression(node: PostfixUnaryExpressionSyntax): void; public visitElementAccessExpression(node: ElementAccessExpressionSyntax): void; public visitInvocationExpression(node: InvocationExpressionSyntax): void; public visitArgumentList(node: ArgumentListSyntax): void; public visitBinaryExpression(node: BinaryExpressionSyntax): void; public visitConditionalExpression(node: ConditionalExpressionSyntax): void; public visitConstructSignature(node: ConstructSignatureSyntax): void; public visitMethodSignature(node: MethodSignatureSyntax): void; public visitIndexSignature(node: IndexSignatureSyntax): void; public visitPropertySignature(node: PropertySignatureSyntax): void; public visitCallSignature(node: CallSignatureSyntax): void; public visitParameterList(node: ParameterListSyntax): void; public visitTypeParameterList(node: TypeParameterListSyntax): void; public visitTypeParameter(node: TypeParameterSyntax): void; public visitConstraint(node: ConstraintSyntax): void; public visitElseClause(node: ElseClauseSyntax): void; public visitIfStatement(node: IfStatementSyntax): void; public visitExpressionStatement(node: ExpressionStatementSyntax): void; public visitConstructorDeclaration(node: ConstructorDeclarationSyntax): void; public visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): void; public visitGetAccessor(node: GetAccessorSyntax): void; public visitSetAccessor(node: SetAccessorSyntax): void; public visitMemberVariableDeclaration(node: MemberVariableDeclarationSyntax): void; public visitIndexMemberDeclaration(node: IndexMemberDeclarationSyntax): void; public visitThrowStatement(node: ThrowStatementSyntax): void; public visitReturnStatement(node: ReturnStatementSyntax): void; public visitObjectCreationExpression(node: ObjectCreationExpressionSyntax): void; public visitSwitchStatement(node: SwitchStatementSyntax): void; public visitCaseSwitchClause(node: CaseSwitchClauseSyntax): void; public visitDefaultSwitchClause(node: DefaultSwitchClauseSyntax): void; public visitBreakStatement(node: BreakStatementSyntax): void; public visitContinueStatement(node: ContinueStatementSyntax): void; public visitForStatement(node: ForStatementSyntax): void; public visitForInStatement(node: ForInStatementSyntax): void; public visitWhileStatement(node: WhileStatementSyntax): void; public visitWithStatement(node: WithStatementSyntax): void; public visitEnumDeclaration(node: EnumDeclarationSyntax): void; public visitEnumElement(node: EnumElementSyntax): void; public visitCastExpression(node: CastExpressionSyntax): void; public visitObjectLiteralExpression(node: ObjectLiteralExpressionSyntax): void; public visitSimplePropertyAssignment(node: SimplePropertyAssignmentSyntax): void; public visitFunctionPropertyAssignment(node: FunctionPropertyAssignmentSyntax): void; public visitFunctionExpression(node: FunctionExpressionSyntax): void; public visitEmptyStatement(node: EmptyStatementSyntax): void; public visitTryStatement(node: TryStatementSyntax): void; public visitCatchClause(node: CatchClauseSyntax): void; public visitFinallyClause(node: FinallyClauseSyntax): void; public visitLabeledStatement(node: LabeledStatementSyntax): void; public visitDoStatement(node: DoStatementSyntax): void; public visitTypeOfExpression(node: TypeOfExpressionSyntax): void; public visitDeleteExpression(node: DeleteExpressionSyntax): void; public visitVoidExpression(node: VoidExpressionSyntax): void; public visitDebuggerStatement(node: DebuggerStatementSyntax): void; } } declare module TypeScript { class PositionTrackingWalker extends SyntaxWalker { private _position; public visitToken(token: ISyntaxToken): void; public position(): number; public skip(element: ISyntaxElement): void; } } declare module TypeScript { interface ITokenInformation { previousToken: ISyntaxToken; nextToken: ISyntaxToken; } class SyntaxInformationMap extends SyntaxWalker { private trackParents; private trackPreviousToken; private tokenToInformation; private elementToPosition; private _previousToken; private _previousTokenInformation; private _currentPosition; private _elementToParent; private _parentStack; constructor(trackParents: boolean, trackPreviousToken: boolean); static create(node: SyntaxNode, trackParents: boolean, trackPreviousToken: boolean): SyntaxInformationMap; public visitNode(node: SyntaxNode): void; public visitToken(token: ISyntaxToken): void; public parent(element: ISyntaxElement): SyntaxNode; public fullStart(element: ISyntaxElement): number; public start(element: ISyntaxElement): number; public end(element: ISyntaxElement): number; public previousToken(token: ISyntaxToken): ISyntaxToken; public tokenInformation(token: ISyntaxToken): ITokenInformation; public firstTokenInLineContainingToken(token: ISyntaxToken): ISyntaxToken; public isFirstTokenInLine(token: ISyntaxToken): boolean; private isFirstTokenInLineWorker(information); } } declare module TypeScript { class SyntaxNodeInvariantsChecker extends SyntaxWalker { private tokenTable; static checkInvariants(node: SyntaxNode): void; public visitToken(token: ISyntaxToken): void; } } declare module TypeScript { class DepthLimitedWalker extends PositionTrackingWalker { private _depth; private _maximumDepth; constructor(maximumDepth: number); public visitNode(node: SyntaxNode): void; } } declare module TypeScript.Parser { function parse(fileName: string, text: ISimpleText, isDeclaration: boolean, options: ParseOptions): SyntaxTree; function incrementalParse(oldSyntaxTree: SyntaxTree, textChangeRange: TextChangeRange, newText: ISimpleText): SyntaxTree; } declare module TypeScript { class SyntaxTree { private _sourceUnit; private _isDeclaration; private _parserDiagnostics; private _allDiagnostics; private _fileName; private _lineMap; private _parseOptions; constructor(sourceUnit: SourceUnitSyntax, isDeclaration: boolean, diagnostics: Diagnostic[], fileName: string, lineMap: LineMap, parseOtions: ParseOptions); public toJSON(key: any): any; public sourceUnit(): SourceUnitSyntax; public isDeclaration(): boolean; private computeDiagnostics(); public diagnostics(): Diagnostic[]; public fileName(): string; public lineMap(): LineMap; public parseOptions(): ParseOptions; public structuralEquals(tree: SyntaxTree): boolean; } } declare module TypeScript { class Unicode { static unicodeES3IdentifierStart: number[]; static unicodeES3IdentifierPart: number[]; static unicodeES5IdentifierStart: number[]; static unicodeES5IdentifierPart: number[]; static lookupInUnicodeMap(code: number, map: number[]): boolean; static isIdentifierStart(code: number, languageVersion: LanguageVersion): boolean; static isIdentifierPart(code: number, languageVersion: LanguageVersion): boolean; } } declare module TypeScript { module CompilerDiagnostics { var debug: boolean; interface IDiagnosticWriter { Alert(output: string): void; } var diagnosticWriter: IDiagnosticWriter; var analysisPass: number; function Alert(output: string): void; function debugPrint(s: string): void; function assert(condition: boolean, s: string): void; } interface ILogger { information(): boolean; debug(): boolean; warning(): boolean; error(): boolean; fatal(): boolean; log(s: string): void; } class NullLogger implements ILogger { public information(): boolean; public debug(): boolean; public warning(): boolean; public error(): boolean; public fatal(): boolean; public log(s: string): void; } function timeFunction(logger: ILogger, funcDescription: string, func: () => any): any; } declare module TypeScript { class Document { private _compiler; private _semanticInfoChain; public fileName: string; public referencedFiles: string[]; private _scriptSnapshot; public byteOrderMark: ByteOrderMark; public version: number; public isOpen: boolean; private _syntaxTree; private _topLevelDecl; private _diagnostics; private _bloomFilter; private _sourceUnit; private _lineMap; private _declASTMap; private _astDeclMap; private _amdDependencies; private _externalModuleIndicatorSpan; constructor(_compiler: TypeScriptCompiler, _semanticInfoChain: SemanticInfoChain, fileName: string, referencedFiles: string[], _scriptSnapshot: IScriptSnapshot, byteOrderMark: ByteOrderMark, version: number, isOpen: boolean, _syntaxTree: SyntaxTree, _topLevelDecl: PullDecl); public invalidate(): void; public isDeclareFile(): boolean; private cacheSyntaxTreeInfo(syntaxTree); private getAmdDependency(comment); private getImplicitImportSpan(sourceUnitLeadingTrivia); private getImplicitImportSpanWorker(trivia, position); private getTopLevelImportOrExportSpan(node); public sourceUnit(): SourceUnit; public diagnostics(): Diagnostic[]; public lineMap(): LineMap; public isExternalModule(): boolean; public externalModuleIndicatorSpan(): TextSpan; public amdDependencies(): string[]; public syntaxTree(): SyntaxTree; public bloomFilter(): BloomFilter; public emitToOwnOutputFile(): boolean; public update(scriptSnapshot: IScriptSnapshot, version: number, isOpen: boolean, textChangeRange: TextChangeRange): Document; static create(compiler: TypeScriptCompiler, semanticInfoChain: SemanticInfoChain, fileName: string, scriptSnapshot: IScriptSnapshot, byteOrderMark: ByteOrderMark, version: number, isOpen: boolean, referencedFiles: string[]): Document; public topLevelDecl(): PullDecl; public _getDeclForAST(ast: AST): PullDecl; public getEnclosingDecl(ast: AST): PullDecl; public _setDeclForAST(ast: AST, decl: PullDecl): void; public _getASTForDecl(decl: PullDecl): AST; public _setASTForDecl(decl: PullDecl, ast: AST): void; } } declare module TypeScript { function hasFlag(val: number, flag: number): boolean; enum TypeRelationshipFlags { SuccessfulComparison = 0, RequiredPropertyIsMissing = 2, IncompatibleSignatures = 4, SourceSignatureHasTooManyParameters = 3, IncompatibleReturnTypes = 16, IncompatiblePropertyTypes = 32, IncompatibleParameterTypes = 64, InconsistantPropertyAccesibility = 128, } enum ModuleGenTarget { Unspecified = 0, Synchronous = 1, Asynchronous = 2, } } declare module TypeScript { function createIntrinsicsObject(): IIndexable; interface IHashTable { getAllKeys(): string[]; add(key: string, data: T): boolean; addOrUpdate(key: string, data: T): boolean; map(fn: (k: string, value: T, context: any) => void, context: any): void; every(fn: (k: string, value: T, context: any) => void, context: any): boolean; some(fn: (k: string, value: T, context: any) => void, context: any): boolean; count(): number; lookup(key: string): T; } class StringHashTable implements IHashTable { private itemCount; private table; public getAllKeys(): string[]; public add(key: string, data: T): boolean; public addOrUpdate(key: string, data: T): boolean; public map(fn: (k: string, value: T, context: any) => void, context: any): void; public every(fn: (k: string, value: T, context: any) => void, context: any): boolean; public some(fn: (k: string, value: T, context: any) => void, context: any): boolean; public count(): number; public lookup(key: string): T; public remove(key: string): void; } class IdentiferNameHashTable extends StringHashTable { public getAllKeys(): string[]; public add(key: string, data: T): boolean; public addOrUpdate(key: string, data: T): boolean; public map(fn: (k: string, value: T, context: any) => void, context: any): void; public every(fn: (k: string, value: T, context: any) => void, context: any): boolean; public some(fn: (k: string, value: any, context: any) => void, context: any): boolean; public lookup(key: string): T; } } declare module TypeScript { interface IParameters { length: number; lastParameterIsRest(): boolean; ast: AST; astAt(index: number): AST; identifierAt(index: number): Identifier; typeAt(index: number): AST; initializerAt(index: number): EqualsValueClause; isOptionalAt(index: number): boolean; } } declare module TypeScript.ASTHelpers { function scriptIsElided(sourceUnit: SourceUnit): boolean; function moduleIsElided(declaration: ModuleDeclaration): boolean; function enumIsElided(declaration: EnumDeclaration): boolean; function isValidAstNode(ast: IASTSpan): boolean; function getAstAtPosition(script: AST, pos: number, useTrailingTriviaAsLimChar?: boolean, forceInclusive?: boolean): AST; function getExtendsHeritageClause(clauses: ISyntaxList2): HeritageClause; function getImplementsHeritageClause(clauses: ISyntaxList2): HeritageClause; function isCallExpression(ast: AST): boolean; function isCallExpressionTarget(ast: AST): boolean; function isDeclarationASTOrDeclarationNameAST(ast: AST): boolean; function getEnclosingParameterForInitializer(ast: AST): Parameter; function getEnclosingMemberVariableDeclaration(ast: AST): MemberVariableDeclaration; function isNameOfFunction(ast: AST): boolean; function isNameOfMemberFunction(ast: AST): boolean; function isNameOfMemberAccessExpression(ast: AST): boolean; function isRightSideOfQualifiedName(ast: AST): boolean; function parentIsModuleDeclaration(ast: AST): boolean; function parametersFromIdentifier(id: Identifier): IParameters; function parametersFromParameter(parameter: Parameter): IParameters; function parametersFromParameterList(list: ParameterList): IParameters; function isDeclarationAST(ast: AST): boolean; function docComments(ast: AST): Comment[]; function getParameterList(ast: AST): ParameterList; function getType(ast: AST): AST; function getVariableDeclaratorModifiers(variableDeclarator: VariableDeclarator): PullElementFlags[]; function isIntegerLiteralAST(expression: AST): boolean; function getEnclosingModuleDeclaration(ast: AST): ModuleDeclaration; function getModuleDeclarationFromNameAST(ast: AST): ModuleDeclaration; function isLastNameOfModule(ast: ModuleDeclaration, astName: AST): boolean; function getNameOfIdenfierOrQualifiedName(name: AST): string; function getModuleNames(name: AST, result?: Identifier[]): Identifier[]; } declare module TypeScript { class AstWalkOptions { public goChildren: boolean; public stopWalking: boolean; } interface IAstWalker { options: AstWalkOptions; state: any; } class AstWalkerFactory { public walk(ast: AST, pre: (ast: AST, walker: IAstWalker) => void, post?: (ast: AST, walker: IAstWalker) => void, state?: any): void; public simpleWalk(ast: AST, pre: (ast: AST, state: any) => void, post?: (ast: AST, state: any) => void, state?: any): void; } function getAstWalkerFactory(): AstWalkerFactory; } declare module TypeScript { class Base64VLQFormat { static encode(inValue: number): string; static decode(inString: string): { value: number; rest: string; }; } } declare module TypeScript { class SourceMapPosition { public sourceLine: number; public sourceColumn: number; public emittedLine: number; public emittedColumn: number; } class SourceMapping { public start: SourceMapPosition; public end: SourceMapPosition; public nameIndex: number; public childMappings: SourceMapping[]; } class SourceMapEntry { public emittedFile: string; public emittedLine: number; public emittedColumn: number; public sourceFile: string; public sourceLine: number; public sourceColumn: number; public sourceName: string; constructor(emittedFile: string, emittedLine: number, emittedColumn: number, sourceFile: string, sourceLine: number, sourceColumn: number, sourceName: string); } class SourceMapper { private jsFile; private sourceMapOut; static MapFileExtension: string; private jsFileName; private sourceMapPath; private sourceMapDirectory; private sourceRoot; public names: string[]; private mappingLevel; private tsFilePaths; private allSourceMappings; public currentMappings: SourceMapping[][]; public currentNameIndex: number[]; private sourceMapEntries; constructor(jsFile: TextWriter, sourceMapOut: TextWriter, document: Document, jsFilePath: string, emitOptions: EmitOptions, resolvePath: (path: string) => string); public getOutputFile(): OutputFile; public increaseMappingLevel(ast: IASTSpan): void; public decreaseMappingLevel(ast: IASTSpan): void; public setNewSourceFile(document: Document, emitOptions: EmitOptions): void; private setSourceMapOptions(document, jsFilePath, emitOptions, resolvePath); private setNewSourceFilePath(document, emitOptions); public emitSourceMapping(): void; } } declare module TypeScript { enum EmitContainer { Prog = 0, Module = 1, DynamicModule = 2, Class = 3, Constructor = 4, Function = 5, Args = 6, Interface = 7, } class EmitState { public column: number; public line: number; public container: EmitContainer; constructor(); } class EmitOptions { public resolvePath: (path: string) => string; private _diagnostic; private _settings; private _commonDirectoryPath; private _sharedOutputFile; private _sourceRootDirectory; private _sourceMapRootDirectory; private _outputDirectory; public diagnostic(): Diagnostic; public commonDirectoryPath(): string; public sharedOutputFile(): string; public sourceRootDirectory(): string; public sourceMapRootDirectory(): string; public outputDirectory(): string; public compilationSettings(): ImmutableCompilationSettings; constructor(compiler: TypeScriptCompiler, resolvePath: (path: string) => string); private determineCommonDirectoryPath(compiler); } class Indenter { static indentStep: number; static indentStepString: string; static indentStrings: string[]; public indentAmt: number; public increaseIndent(): void; public decreaseIndent(): void; public getIndent(): string; } function lastParameterIsRest(parameterList: ParameterList): boolean; class Emitter { public emittingFileName: string; public outfile: TextWriter; public emitOptions: EmitOptions; private semanticInfoChain; public globalThisCapturePrologueEmitted: boolean; public extendsPrologueEmitted: boolean; public thisClassNode: ClassDeclaration; public inArrowFunction: boolean; public moduleName: string; public emitState: EmitState; public indenter: Indenter; public sourceMapper: SourceMapper; public captureThisStmtString: string; private currentVariableDeclaration; private declStack; private exportAssignment; private inWithBlock; public document: Document; private detachedCommentsElement; constructor(emittingFileName: string, outfile: TextWriter, emitOptions: EmitOptions, semanticInfoChain: SemanticInfoChain); private pushDecl(decl); private popDecl(decl); private getEnclosingDecl(); public setExportAssignment(exportAssignment: ExportAssignment): void; public getExportAssignment(): ExportAssignment; public setDocument(document: Document): void; public shouldEmitImportDeclaration(importDeclAST: ImportDeclaration): boolean; public emitImportDeclaration(importDeclAST: ImportDeclaration): void; public createSourceMapper(document: Document, jsFileName: string, jsFile: TextWriter, sourceMapOut: TextWriter, resolvePath: (path: string) => string): void; public setSourceMapperNewSourceFile(document: Document): void; private updateLineAndColumn(s); public writeToOutputWithSourceMapRecord(s: string, astSpan: IASTSpan): void; public writeToOutput(s: string): void; public writeLineToOutput(s: string, force?: boolean): void; public writeCaptureThisStatement(ast: AST): void; public setContainer(c: number): number; private getIndentString(); public emitIndent(): void; public emitComment(comment: Comment, trailing: boolean, first: boolean): void; public emitComments(ast: AST, pre: boolean, onlyPinnedOrTripleSlashComments?: boolean): void; private isPinnedOrTripleSlash(comment); public emitCommentsArray(comments: Comment[], trailing: boolean): void; public emitObjectLiteralExpression(objectLiteral: ObjectLiteralExpression): void; public emitArrayLiteralExpression(arrayLiteral: ArrayLiteralExpression): void; public emitObjectCreationExpression(objectCreationExpression: ObjectCreationExpression): void; public getConstantDecl(dotExpr: MemberAccessExpression): PullEnumElementDecl; public tryEmitConstant(dotExpr: MemberAccessExpression): boolean; public emitInvocationExpression(callNode: InvocationExpression): void; private emitParameterList(list); private emitFunctionParameters(parameters); private emitFunctionBodyStatements(name, funcDecl, parameterList, block, bodyExpression); private emitDefaultValueAssignments(parameters); private emitRestParameterInitializer(parameters); private getImportDecls(fileName); public getModuleImportAndDependencyList(sourceUnit: SourceUnit): { importList: string; dependencyList: string; }; public shouldCaptureThis(ast: AST): boolean; public emitEnum(moduleDecl: EnumDeclaration): void; private getModuleDeclToVerifyChildNameCollision(moduleDecl, changeNameIfAnyDeclarationInContext); private hasChildNameCollision(moduleName, parentDecl); private getModuleName(moduleDecl, changeNameIfAnyDeclarationInContext?); private emitModuleDeclarationWorker(moduleDecl); public emitSingleModuleDeclaration(moduleDecl: ModuleDeclaration, moduleName: IASTToken): void; public emitEnumElement(varDecl: EnumElement): void; public emitElementAccessExpression(expression: ElementAccessExpression): void; public emitSimpleArrowFunctionExpression(arrowFunction: SimpleArrowFunctionExpression): void; public emitParenthesizedArrowFunctionExpression(arrowFunction: ParenthesizedArrowFunctionExpression): void; private emitAnyArrowFunctionExpression(arrowFunction, funcName, parameters, block, expression); public emitConstructor(funcDecl: ConstructorDeclaration): void; public emitGetAccessor(accessor: GetAccessor): void; public emitSetAccessor(accessor: SetAccessor): void; public emitFunctionExpression(funcDecl: FunctionExpression): void; public emitFunction(funcDecl: FunctionDeclaration): void; public emitAmbientVarDecl(varDecl: VariableDeclarator): void; public emitVarDeclVar(): void; public emitVariableDeclaration(declaration: VariableDeclaration): void; private emitMemberVariableDeclaration(varDecl); public emitVariableDeclarator(varDecl: VariableDeclarator): void; private symbolIsUsedInItsEnclosingContainer(symbol, dynamic?); private shouldQualifySymbolNameWithParentName(symbol); private getSymbolForEmit(ast); public emitName(name: Identifier, addThis: boolean): void; public recordSourceMappingNameStart(name: string): void; public recordSourceMappingNameEnd(): void; public recordSourceMappingStart(ast: IASTSpan): void; public recordSourceMappingEnd(ast: IASTSpan): void; public getOutputFiles(): OutputFile[]; private emitParameterPropertyAndMemberVariableAssignments(); private isOnSameLine(pos1, pos2); private emitCommaSeparatedList(parent, list, buffer, preserveNewLines); public emitList(list: ISyntaxList2, useNewLineSeparator?: boolean, startInclusive?: number, endExclusive?: number): void; public emitSeparatedList(list: ISeparatedSyntaxList2, useNewLineSeparator?: boolean, startInclusive?: number, endExclusive?: number): void; private isDirectivePrologueElement(node); public emitSpaceBetweenConstructs(node1: AST, node2: AST): void; private getDetachedComments(element); private emitPossibleCopyrightHeaders(script); private emitDetachedComments(list); public emitScriptElements(sourceUnit: SourceUnit): void; public emitConstructorStatements(funcDecl: ConstructorDeclaration): void; public emitJavascript(ast: AST, startLine: boolean): void; public emitAccessorMemberDeclaration(funcDecl: AST, name: IASTToken, className: string, isProto: boolean): void; private emitAccessorBody(funcDecl, parameterList, block); public emitClass(classDecl: ClassDeclaration): void; private emitClassMembers(classDecl); private emitClassMemberFunctionDeclaration(classDecl, funcDecl); private requiresExtendsBlock(moduleElements); public emitPrologue(sourceUnit: SourceUnit): void; public emitThis(): void; public emitBlockOrStatement(node: AST): void; public emitLiteralExpression(expression: LiteralExpression): void; public emitThisExpression(expression: ThisExpression): void; public emitSuperExpression(expression: SuperExpression): void; public emitParenthesizedExpression(parenthesizedExpression: ParenthesizedExpression): void; public emitCastExpression(expression: CastExpression): void; public emitPrefixUnaryExpression(expression: PrefixUnaryExpression): void; public emitPostfixUnaryExpression(expression: PostfixUnaryExpression): void; public emitTypeOfExpression(expression: TypeOfExpression): void; public emitDeleteExpression(expression: DeleteExpression): void; public emitVoidExpression(expression: VoidExpression): void; private canEmitDottedNameMemberAccessExpression(expression); private emitDottedNameMemberAccessExpression(expression); private emitDottedNameMemberAccessExpressionRecurse(expression); public emitMemberAccessExpression(expression: MemberAccessExpression): void; public emitQualifiedName(name: QualifiedName): void; public emitBinaryExpression(expression: BinaryExpression): void; public emitSimplePropertyAssignment(property: SimplePropertyAssignment): void; public emitFunctionPropertyAssignment(funcProp: FunctionPropertyAssignment): void; public emitConditionalExpression(expression: ConditionalExpression): void; public emitThrowStatement(statement: ThrowStatement): void; public emitExpressionStatement(statement: ExpressionStatement): void; public emitLabeledStatement(statement: LabeledStatement): void; public emitBlock(block: Block): void; public emitBreakStatement(jump: BreakStatement): void; public emitContinueStatement(jump: ContinueStatement): void; public emitWhileStatement(statement: WhileStatement): void; public emitDoStatement(statement: DoStatement): void; public emitIfStatement(statement: IfStatement): void; public emitElseClause(elseClause: ElseClause): void; public emitReturnStatement(statement: ReturnStatement): void; public emitForInStatement(statement: ForInStatement): void; public emitForStatement(statement: ForStatement): void; public emitWithStatement(statement: WithStatement): void; public emitSwitchStatement(statement: SwitchStatement): void; public emitCaseSwitchClause(clause: CaseSwitchClause): void; private emitSwitchClauseBody(body); public emitDefaultSwitchClause(clause: DefaultSwitchClause): void; public emitTryStatement(statement: TryStatement): void; public emitCatchClause(clause: CatchClause): void; public emitFinallyClause(clause: FinallyClause): void; public emitDebuggerStatement(statement: DebuggerStatement): void; public emitNumericLiteral(literal: NumericLiteral): void; public emitRegularExpressionLiteral(literal: RegularExpressionLiteral): void; public emitStringLiteral(literal: StringLiteral): void; public emitEqualsValueClause(clause: EqualsValueClause): void; public emitParameter(parameter: Parameter): void; public emitConstructorDeclaration(declaration: ConstructorDeclaration): void; public shouldEmitFunctionDeclaration(declaration: FunctionDeclaration): boolean; public emitFunctionDeclaration(declaration: FunctionDeclaration): void; private emitSourceUnit(sourceUnit); public shouldEmitEnumDeclaration(declaration: EnumDeclaration): boolean; public emitEnumDeclaration(declaration: EnumDeclaration): void; public shouldEmitModuleDeclaration(declaration: ModuleDeclaration): boolean; private emitModuleDeclaration(declaration); public shouldEmitClassDeclaration(declaration: ClassDeclaration): boolean; public emitClassDeclaration(declaration: ClassDeclaration): void; public shouldEmitInterfaceDeclaration(declaration: InterfaceDeclaration): boolean; public emitInterfaceDeclaration(declaration: InterfaceDeclaration): void; private firstVariableDeclarator(statement); private isNotAmbientOrHasInitializer(variableStatement); public shouldEmitVariableStatement(statement: VariableStatement): boolean; public emitVariableStatement(statement: VariableStatement): void; public emitGenericType(type: GenericType): void; private shouldEmit(ast); private emit(ast); private emitWorker(ast); } function getLastConstructor(classDecl: ClassDeclaration): ConstructorDeclaration; function getTrimmedTextLines(comment: Comment): string[]; } declare module TypeScript { class MemberName { public prefix: string; public suffix: string; public isString(): boolean; public isArray(): boolean; public isMarker(): boolean; public toString(): string; static memberNameToString(memberName: MemberName, markerInfo?: number[], markerBaseLength?: number): string; static create(text: string): MemberName; static create(entry: MemberName, prefix: string, suffix: string): MemberName; } class MemberNameString extends MemberName { public text: string; constructor(text: string); public isString(): boolean; } class MemberNameArray extends MemberName { public delim: string; public entries: MemberName[]; public isArray(): boolean; public add(entry: MemberName): void; public addAll(entries: MemberName[]): void; constructor(); } } declare module TypeScript { function stripStartAndEndQuotes(str: string): string; function isSingleQuoted(str: string): boolean; function isDoubleQuoted(str: string): boolean; function isQuoted(str: string): boolean; function quoteStr(str: string): string; function switchToForwardSlashes(path: string): string; function trimModName(modName: string): string; function getDeclareFilePath(fname: string): string; function isTSFile(fname: string): boolean; function isDTSFile(fname: string): boolean; function getPrettyName(modPath: string, quote?: boolean, treatAsFileName?: boolean): any; function getPathComponents(path: string): string[]; function getRelativePathToFixedPath(fixedModFilePath: string, absoluteModPath: string, isAbsoultePathURL?: boolean): string; function changePathToDTS(modPath: string): string; function isRelative(path: string): boolean; function isRooted(path: string): boolean; function getRootFilePath(outFname: string): string; function filePathComponents(fullPath: string): string[]; function filePath(fullPath: string): string; function convertToDirectoryPath(dirPath: string): string; function normalizePath(path: string): string; } declare module TypeScript { interface IFileReference extends ILineAndCharacter { path: string; isResident: boolean; position: number; length: number; } } declare module TypeScript { interface IPreProcessedFileInfo { referencedFiles: IFileReference[]; importedFiles: IFileReference[]; diagnostics: Diagnostic[]; isLibFile: boolean; } var tripleSlashReferenceRegExp: RegExp; function preProcessFile(fileName: string, sourceText: IScriptSnapshot, readImportFiles?: boolean): IPreProcessedFileInfo; function getParseOptions(settings: ImmutableCompilationSettings): ParseOptions; function getReferencedFiles(fileName: string, sourceText: IScriptSnapshot): IFileReference[]; } declare module TypeScript { interface IResolvedFile { path: string; referencedFiles: string[]; importedFiles: string[]; } interface IReferenceResolverHost { getScriptSnapshot(fileName: string): IScriptSnapshot; resolveRelativePath(path: string, directory: string): string; fileExists(path: string): boolean; directoryExists(path: string): boolean; getParentDirectory(path: string): string; } class ReferenceResolutionResult { public resolvedFiles: IResolvedFile[]; public diagnostics: Diagnostic[]; public seenNoDefaultLibTag: boolean; } class ReferenceResolver { private useCaseSensitiveFileResolution; private inputFileNames; private host; private visited; constructor(inputFileNames: string[], host: IReferenceResolverHost, useCaseSensitiveFileResolution: boolean); static resolve(inputFileNames: string[], host: IReferenceResolverHost, useCaseSensitiveFileResolution: boolean): ReferenceResolutionResult; public resolveInputFiles(): ReferenceResolutionResult; private resolveIncludedFile(path, referenceLocation, resolutionResult); private resolveImportedFile(path, referenceLocation, resolutionResult); private resolveFile(normalizedPath, resolutionResult); private getNormalizedFilePath(path, parentFilePath); private getUniqueFileId(filePath); private recordVisitedFile(filePath); private isVisited(filePath); private isSameFile(filePath1, filePath2); } } declare module TypeScript { class TextWriter { private name; private writeByteOrderMark; private outputFileType; private contents; public onNewLine: boolean; constructor(name: string, writeByteOrderMark: boolean, outputFileType: OutputFileType); public Write(s: string): void; public WriteLine(s: string): void; public Close(): void; public getOutputFile(): OutputFile; } class DeclarationEmitter { private emittingFileName; public document: Document; private compiler; private emitOptions; private semanticInfoChain; private declFile; private indenter; private emittedReferencePaths; constructor(emittingFileName: string, document: Document, compiler: TypeScriptCompiler, emitOptions: EmitOptions, semanticInfoChain: SemanticInfoChain); public getOutputFile(): OutputFile; public emitDeclarations(sourceUnit: SourceUnit): void; private emitDeclarationsForList(list); private emitSeparatedList(list); private emitDeclarationsForAST(ast); private getIndentString(declIndent?); private emitIndent(); private canEmitDeclarations(declAST); private getDeclFlagsString(pullDecl, typeString); private emitDeclFlags(declarationAST, typeString); private emitTypeNamesMember(memberName, emitIndent?); private emitTypeSignature(ast, type); private emitComment(comment); private emitDeclarationComments(ast, endLine?); private writeDeclarationComments(declComments, endLine?); private emitTypeOfVariableDeclaratorOrParameter(boundDecl); private emitPropertySignature(varDecl); private emitVariableDeclarator(varDecl, isFirstVarInList, isLastVarInList); private emitClassElementModifiers(modifiers); private emitDeclarationsForMemberVariableDeclaration(varDecl); private emitDeclarationsForVariableStatement(variableStatement); private emitDeclarationsForVariableDeclaration(variableDeclaration); private emitArgDecl(argDecl, id, isOptional, isPrivate); private isOverloadedCallSignature(funcDecl); private emitDeclarationsForConstructorDeclaration(funcDecl); private emitParameterList(isPrivate, parameterList); private emitParameters(isPrivate, parameterList); private emitMemberFunctionDeclaration(funcDecl); private emitCallSignature(funcDecl); private emitConstructSignature(funcDecl); private emitMethodSignature(funcDecl); private emitDeclarationsForFunctionDeclaration(funcDecl); private emitIndexMemberDeclaration(funcDecl); private emitIndexSignature(funcDecl); private emitBaseList(bases, useExtendsList); private emitAccessorDeclarationComments(funcDecl); private emitDeclarationsForGetAccessor(funcDecl); private emitDeclarationsForSetAccessor(funcDecl); private emitMemberAccessorDeclaration(funcDecl, modifiers, name); private emitClassMembersFromConstructorDefinition(funcDecl); private emitDeclarationsForClassDeclaration(classDecl); private emitHeritageClauses(clauses); private emitHeritageClause(clause); static getEnclosingContainer(ast: AST): AST; private emitTypeParameters(typeParams, funcSignature?); private emitDeclarationsForInterfaceDeclaration(interfaceDecl); private emitDeclarationsForImportDeclaration(importDeclAST); private emitDeclarationsForEnumDeclaration(moduleDecl); private emitDeclarationsForModuleDeclaration(moduleDecl); private emitDeclarationsForExportAssignment(ast); private resolveScriptReference(document, reference); private emitReferencePaths(sourceUnit); private emitDeclarationsForSourceUnit(sourceUnit); } } declare module TypeScript { class BloomFilter { private bitArray; private hashFunctionCount; static falsePositiveProbability: number; constructor(expectedCount: number); static computeM(expectedCount: number): number; static computeK(expectedCount: number): number; private computeHash(key, seed); public addKeys(keys: IIndexable): void; public add(value: string): void; public probablyContains(value: string): boolean; public isEquivalent(filter: BloomFilter): boolean; static isEquivalent(array1: boolean[], array2: boolean[]): boolean; } } declare module TypeScript { class IdentifierWalker extends SyntaxWalker { public list: IIndexable; constructor(list: IIndexable); public visitToken(token: ISyntaxToken): void; } } declare module TypeScript { class CompilationSettings { public propagateEnumConstants: boolean; public removeComments: boolean; public watch: boolean; public noResolve: boolean; public allowAutomaticSemicolonInsertion: boolean; public noImplicitAny: boolean; public noLib: boolean; public codeGenTarget: LanguageVersion; public moduleGenTarget: ModuleGenTarget; public outFileOption: string; public outDirOption: string; public mapSourceFiles: boolean; public mapRoot: string; public sourceRoot: string; public generateDeclarationFiles: boolean; public useCaseSensitiveFileResolution: boolean; public gatherDiagnostics: boolean; public codepage: number; public createFileLog: boolean; } class ImmutableCompilationSettings { private static _defaultSettings; private _propagateEnumConstants; private _removeComments; private _watch; private _noResolve; private _allowAutomaticSemicolonInsertion; private _noImplicitAny; private _noLib; private _codeGenTarget; private _moduleGenTarget; private _outFileOption; private _outDirOption; private _mapSourceFiles; private _mapRoot; private _sourceRoot; private _generateDeclarationFiles; private _useCaseSensitiveFileResolution; private _gatherDiagnostics; private _codepage; private _createFileLog; public propagateEnumConstants(): boolean; public removeComments(): boolean; public watch(): boolean; public noResolve(): boolean; public allowAutomaticSemicolonInsertion(): boolean; public noImplicitAny(): boolean; public noLib(): boolean; public codeGenTarget(): LanguageVersion; public moduleGenTarget(): ModuleGenTarget; public outFileOption(): string; public outDirOption(): string; public mapSourceFiles(): boolean; public mapRoot(): string; public sourceRoot(): string; public generateDeclarationFiles(): boolean; public useCaseSensitiveFileResolution(): boolean; public gatherDiagnostics(): boolean; public codepage(): number; public createFileLog(): boolean; constructor(propagateEnumConstants: boolean, removeComments: boolean, watch: boolean, noResolve: boolean, allowAutomaticSemicolonInsertion: boolean, noImplicitAny: boolean, noLib: boolean, codeGenTarget: LanguageVersion, moduleGenTarget: ModuleGenTarget, outFileOption: string, outDirOption: string, mapSourceFiles: boolean, mapRoot: string, sourceRoot: string, generateDeclarationFiles: boolean, useCaseSensitiveFileResolution: boolean, gatherDiagnostics: boolean, codepage: number, createFileLog: boolean); static defaultSettings(): ImmutableCompilationSettings; static fromCompilationSettings(settings: CompilationSettings): ImmutableCompilationSettings; public toCompilationSettings(): any; } } declare module TypeScript { enum PullElementFlags { None = 0, Exported = 1, Private = 2, Public = 4, Ambient = 8, Static = 16, Optional = 128, Signature = 2048, Enum = 4096, ArrowFunction = 8192, ClassConstructorVariable = 16384, InitializedModule = 32768, InitializedDynamicModule = 65536, MustCaptureThis = 262144, DeclaredInAWithBlock = 2097152, HasReturnStatement = 4194304, PropertyParameter = 8388608, IsAnnotatedWithAny = 16777216, HasDefaultArgs = 33554432, ConstructorParameter = 67108864, ImplicitVariable = 118784, SomeInitializedModule = 102400, } function hasModifier(modifiers: PullElementFlags[], flag: PullElementFlags): boolean; enum PullElementKind { None = 0, Global = 0, Script = 1, Primitive = 2, Container = 4, Class = 8, Interface = 16, DynamicModule = 32, Enum = 64, TypeAlias = 128, ObjectLiteral = 256, Variable = 512, CatchVariable = 1024, Parameter = 2048, Property = 4096, TypeParameter = 8192, Function = 16384, ConstructorMethod = 32768, Method = 65536, FunctionExpression = 131072, GetAccessor = 262144, SetAccessor = 524288, CallSignature = 1048576, ConstructSignature = 2097152, IndexSignature = 4194304, ObjectType = 8388608, FunctionType = 16777216, ConstructorType = 33554432, EnumMember = 67108864, WithBlock = 134217728, CatchBlock = 268435456, All = 536869887, SomeFunction = 1032192, SomeValue = 68147712, SomeType = 58728795, AcceptableAlias = 59753052, SomeContainer = 164, SomeSignature = 7340032, SomeTypeReference = 58720272, SomeInstantiatableType = 8216, } } declare module TypeScript { class PullDecl { public kind: PullElementKind; public name: string; private declDisplayName; public semanticInfoChain: SemanticInfoChain; public declID: number; public flags: PullElementFlags; private declGroups; private childDecls; private typeParameters; private synthesizedValDecl; private containerDecl; public childDeclTypeCache: IIndexable; public childDeclValueCache: IIndexable; public childDeclNamespaceCache: IIndexable; public childDeclTypeParameterCache: IIndexable; constructor(declName: string, displayName: string, kind: PullElementKind, declFlags: PullElementFlags, semanticInfoChain: SemanticInfoChain); public fileName(): string; public getParentPath(): PullDecl[]; public getParentDecl(): PullDecl; public isExternalModule(): boolean; public getEnclosingDecl(): PullDecl; public _getEnclosingDeclFromParentDecl(): PullDecl; public getDisplayName(): string; public setSymbol(symbol: PullSymbol): void; public ensureSymbolIsBound(): void; public getSymbol(): PullSymbol; public hasSymbol(): boolean; public setSignatureSymbol(signatureSymbol: PullSignatureSymbol): void; public getSignatureSymbol(): PullSignatureSymbol; public hasSignatureSymbol(): boolean; public setFlags(flags: PullElementFlags): void; public setFlag(flags: PullElementFlags): void; public setValueDecl(valDecl: PullDecl): void; public getValueDecl(): PullDecl; public getContainerDecl(): PullDecl; private getChildDeclCache(declKind); public addChildDecl(childDecl: PullDecl): void; public searchChildDecls(declName: string, searchKind: PullElementKind): PullDecl[]; public getChildDecls(): PullDecl[]; public getTypeParameters(): PullDecl[]; public addVariableDeclToGroup(decl: PullDecl): void; public getVariableDeclGroups(): PullDecl[][]; public hasBeenBound(): boolean; public isSynthesized(): boolean; public ast(): AST; public isRootDecl(): boolean; } class RootPullDecl extends PullDecl { private _isExternalModule; private _fileName; constructor(name: string, fileName: string, kind: PullElementKind, declFlags: PullElementFlags, semanticInfoChain: SemanticInfoChain, isExternalModule: boolean); public fileName(): string; public getParentPath(): PullDecl[]; public getParentDecl(): PullDecl; public isExternalModule(): boolean; public getEnclosingDecl(): RootPullDecl; public isRootDecl(): boolean; } class NormalPullDecl extends PullDecl { private parentDecl; public _rootDecl: RootPullDecl; private parentPath; constructor(declName: string, displayName: string, kind: PullElementKind, declFlags: PullElementFlags, parentDecl: PullDecl, addToParent?: boolean); public fileName(): string; public getParentDecl(): PullDecl; public getParentPath(): PullDecl[]; public isExternalModule(): boolean; public getEnclosingDecl(): PullDecl; public isRootDecl(): boolean; } class PullEnumElementDecl extends NormalPullDecl { public constantValue: number; constructor(declName: string, displayName: string, parentDecl: PullDecl); } class PullFunctionExpressionDecl extends NormalPullDecl { private functionExpressionName; constructor(expressionName: string, declFlags: PullElementFlags, parentDecl: PullDecl, displayName?: string); public getFunctionExpressionName(): string; } class PullSynthesizedDecl extends NormalPullDecl { constructor(declName: string, displayName: string, kind: PullElementKind, declFlags: PullElementFlags, parentDecl: PullDecl, semanticInfoChain: SemanticInfoChain); public isSynthesized(): boolean; public fileName(): string; } class PullDeclGroup { public name: string; private _decls; constructor(name: string); public addDecl(decl: PullDecl): void; public getDecls(): PullDecl[]; } } declare module TypeScript { var pullSymbolID: number; var sentinelEmptyArray: any[]; class PullSymbol { public pullSymbolID: number; public name: string; public kind: PullElementKind; private _container; public type: PullTypeSymbol; private _declarations; public isResolved: boolean; public isOptional: boolean; public inResolution: boolean; private isSynthesized; public isVarArg: boolean; private rootSymbol; private _enclosingSignature; private _docComments; public isPrinting: boolean; public isAny(): boolean; public isType(): boolean; public isTypeReference(): boolean; public isSignature(): boolean; public isArrayNamedTypeReference(): boolean; public isPrimitive(): boolean; public isAccessor(): boolean; public isError(): boolean; public isInterface(): boolean; public isMethod(): boolean; public isProperty(): boolean; public isAlias(): boolean; public isContainer(): boolean; constructor(name: string, declKind: PullElementKind); private findAliasedTypeSymbols(scopeSymbol, skipScopeSymbolAliasesLookIn?, lookIntoOnlyExportedAlias?, aliasSymbols?, visitedScopeDeclarations?); public getExternalAliasedSymbols(scopeSymbol: PullSymbol): PullTypeAliasSymbol[]; static _isExternalModuleReferenceAlias(aliasSymbol: PullTypeAliasSymbol): boolean; private getExportedInternalAliasSymbol(scopeSymbol); public getAliasSymbolName(scopeSymbol: PullSymbol, aliasNameGetter: (symbol: PullTypeAliasSymbol) => string, aliasPartsNameGetter: (symbol: PullTypeAliasSymbol) => string, skipInternalAlias?: boolean): string; public _getResolver(): PullTypeResolver; public _resolveDeclaredSymbol(): PullSymbol; public getName(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string; public getDisplayName(scopeSymbol?: PullSymbol, useConstraintInName?: boolean, skipInternalAliasName?: boolean): string; public getIsSpecialized(): boolean; public getRootSymbol(): PullSymbol; public setRootSymbol(symbol: PullSymbol): void; public setIsSynthesized(value?: boolean): void; public getIsSynthesized(): any; public setEnclosingSignature(signature: PullSignatureSymbol): void; public getEnclosingSignature(): PullSignatureSymbol; public addDeclaration(decl: PullDecl): void; public getDeclarations(): PullDecl[]; public hasDeclaration(decl: PullDecl): boolean; public setContainer(containerSymbol: PullTypeSymbol): void; public getContainer(): PullTypeSymbol; public setResolved(): void; public startResolving(): void; public setUnresolved(): void; public anyDeclHasFlag(flag: PullElementFlags): boolean; public allDeclsHaveFlag(flag: PullElementFlags): boolean; public pathToRoot(): PullSymbol[]; private static unqualifiedNameReferencesDifferentSymbolInScope(symbol, scopePath, endScopePathIndex); private findQualifyingSymbolPathInScopeSymbol(scopeSymbol); public toString(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string; public getNamePartForFullName(): string; public fullName(scopeSymbol?: PullSymbol): string; public getScopedName(scopeSymbol?: PullSymbol, skipTypeParametersInName?: boolean, useConstraintInName?: boolean, skipInternalAliasName?: boolean): string; public getScopedNameEx(scopeSymbol?: PullSymbol, skipTypeParametersInName?: boolean, useConstraintInName?: boolean, getPrettyTypeName?: boolean, getTypeParamMarkerInfo?: boolean, skipInternalAliasName?: boolean): MemberName; public getTypeName(scopeSymbol?: PullSymbol, getPrettyTypeName?: boolean): string; public getTypeNameEx(scopeSymbol?: PullSymbol, getPrettyTypeName?: boolean): MemberName; private getTypeNameForFunctionSignature(prefix, scopeSymbol?, getPrettyTypeName?); public getNameAndTypeName(scopeSymbol?: PullSymbol): string; public getNameAndTypeNameEx(scopeSymbol?: PullSymbol): MemberName; static getTypeParameterString(typars: PullTypeSymbol[], scopeSymbol?: PullSymbol, useContraintInName?: boolean): string; static getTypeParameterStringEx(typeParameters: PullTypeSymbol[], scopeSymbol?: PullSymbol, getTypeParamMarkerInfo?: boolean, useContraintInName?: boolean): MemberNameArray; static getIsExternallyVisible(symbol: PullSymbol, fromIsExternallyVisibleSymbol: PullSymbol, inIsExternallyVisibleSymbols: PullSymbol[]): boolean; public isExternallyVisible(inIsExternallyVisibleSymbols?: PullSymbol[]): boolean; private getDocCommentsOfDecl(decl); private getDocCommentArray(symbol); private static getDefaultConstructorSymbolForDocComments(classSymbol); private getDocCommentText(comments); private getDocCommentTextValue(comment); public docComments(useConstructorAsClass?: boolean): string; private getParameterDocCommentText(param, fncDocComments); private cleanJSDocComment(content, spacesToRemove?); private consumeLeadingSpace(line, startIndex, maxSpacesToRemove?); private isSpaceChar(line, index); private cleanDocCommentLine(line, jsDocStyleComment, jsDocLineSpaceToRemove?); } interface InstantiableSymbol { getIsSpecialized(): boolean; getAllowedToReferenceTypeParameters(): PullTypeParameterSymbol[]; getTypeParameterArgumentMap(): TypeArgumentMap; } class PullSignatureSymbol extends PullSymbol implements InstantiableSymbol { private _isDefinition; private _memberTypeParameterNameCache; private _stringConstantOverload; public parameters: PullSymbol[]; public _typeParameters: PullTypeParameterSymbol[]; public returnType: PullTypeSymbol; public functionType: PullTypeSymbol; public hasOptionalParam: boolean; public nonOptionalParamCount: number; public hasVarArgs: boolean; private _allowedToReferenceTypeParameters; private _instantiationCache; public hasBeenChecked: boolean; public inWrapCheck: boolean; public inWrapInfiniteExpandingReferenceCheck: boolean; private _wrapsTypeParameterCache; constructor(kind: PullElementKind, _isDefinition?: boolean); public isDefinition(): boolean; public isGeneric(): boolean; public addParameter(parameter: PullSymbol, isOptional?: boolean): void; public addTypeParameter(typeParameter: PullTypeParameterSymbol): void; public addTypeParametersFromReturnType(): void; public getTypeParameters(): PullTypeParameterSymbol[]; public findTypeParameter(name: string): PullTypeParameterSymbol; public getTypeParameterArgumentMap(): TypeArgumentMap; public getAllowedToReferenceTypeParameters(): PullTypeParameterSymbol[]; public addSpecialization(specializedVersionOfThisSignature: PullSignatureSymbol, typeArgumentMap: TypeArgumentMap): void; public getSpecialization(typeArgumentMap: TypeArgumentMap): PullSignatureSymbol; public isStringConstantOverloadSignature(): boolean; public getParameterTypeAtIndex(iParam: number): PullTypeSymbol; static getSignatureTypeMemberName(candidateSignature: PullSignatureSymbol, signatures: PullSignatureSymbol[], scopeSymbol: PullSymbol): MemberNameArray; static getSignaturesTypeNameEx(signatures: PullSignatureSymbol[], prefix: string, shortform: boolean, brackets: boolean, scopeSymbol?: PullSymbol, getPrettyTypeName?: boolean, candidateSignature?: PullSignatureSymbol): MemberName[]; public toString(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string; public getSignatureTypeNameEx(prefix: string, shortform: boolean, brackets: boolean, scopeSymbol?: PullSymbol, getParamMarkerInfo?: boolean, getTypeParamMarkerInfo?: boolean): MemberNameArray; public forAllParameterTypes(length: number, predicate: (parameterType: PullTypeSymbol, iterationIndex: number) => boolean): boolean; public forAllCorrespondingParameterTypesInThisAndOtherSignature(otherSignature: PullSignatureSymbol, predicate: (thisSignatureParameterType: PullTypeSymbol, otherSignatureParameterType: PullTypeSymbol, iterationIndex: number) => boolean): boolean; public wrapsSomeTypeParameter(typeParameterArgumentMap: TypeArgumentMap): boolean; public getWrappingTypeParameterID(typeParameterArgumentMap: TypeArgumentMap): number; public getWrappingTypeParameterIDWorker(typeParameterArgumentMap: TypeArgumentMap): number; public _wrapsSomeTypeParameterIntoInfinitelyExpandingTypeReference(enclosingType: PullTypeSymbol, knownWrapMap: IBitMatrix): boolean; public _wrapsSomeTypeParameterIntoInfinitelyExpandingTypeReferenceWorker(enclosingType: PullTypeSymbol, knownWrapMap: IBitMatrix): boolean; } class PullTypeSymbol extends PullSymbol implements InstantiableSymbol { private _members; private _enclosedMemberTypes; private _enclosedMemberContainers; private _typeParameters; private _allowedToReferenceTypeParameters; private _specializedVersionsOfThisType; private _arrayVersionOfThisType; private _implementedTypes; private _extendedTypes; private _typesThatExplicitlyImplementThisType; private _typesThatExtendThisType; private _callSignatures; private _allCallSignatures; private _constructSignatures; private _allConstructSignatures; private _indexSignatures; private _allIndexSignatures; private _allIndexSignaturesOfAugmentedType; private _memberNameCache; private _enclosedTypeNameCache; private _enclosedContainerCache; private _typeParameterNameCache; private _containedNonMemberNameCache; private _containedNonMemberTypeNameCache; private _containedNonMemberContainerCache; private _simpleInstantiationCache; private _complexInstantiationCache; private _hasGenericSignature; private _hasGenericMember; private _hasBaseTypeConflict; private _knownBaseTypeCount; private _associatedContainerTypeSymbol; private _constructorMethod; private _hasDefaultConstructor; private _functionSymbol; private _inMemberTypeNameEx; public inSymbolPrivacyCheck: boolean; public inWrapCheck: boolean; public inWrapInfiniteExpandingReferenceCheck: boolean; public typeReference: PullTypeReferenceSymbol; private _widenedType; private _wrapsTypeParameterCache; constructor(name: string, kind: PullElementKind); private _isArrayNamedTypeReference; public isArrayNamedTypeReference(): boolean; private computeIsArrayNamedTypeReference(); public isType(): boolean; public isClass(): boolean; public isFunction(): boolean; public isConstructor(): boolean; public isTypeParameter(): boolean; public isTypeVariable(): boolean; public isError(): boolean; public isEnum(): boolean; public getTypeParameterArgumentMap(): TypeArgumentMap; public isObject(): boolean; public isFunctionType(): boolean; public getKnownBaseTypeCount(): number; public resetKnownBaseTypeCount(): void; public incrementKnownBaseCount(): void; public setHasBaseTypeConflict(): void; public hasBaseTypeConflict(): boolean; public hasMembers(): boolean; public setHasGenericSignature(): void; public getHasGenericSignature(): boolean; public setHasGenericMember(): void; public getHasGenericMember(): boolean; public setAssociatedContainerType(type: PullTypeSymbol): void; public getAssociatedContainerType(): PullTypeSymbol; public getArrayType(): PullTypeSymbol; public getElementType(): PullTypeSymbol; public setArrayType(arrayType: PullTypeSymbol): void; public getFunctionSymbol(): PullSymbol; public setFunctionSymbol(symbol: PullSymbol): void; public findContainedNonMember(name: string): PullSymbol; public findContainedNonMemberType(typeName: string, kind?: PullElementKind): PullTypeSymbol; public findContainedNonMemberContainer(containerName: string, kind?: PullElementKind): PullTypeSymbol; public addMember(memberSymbol: PullSymbol): void; public addEnclosedMemberType(enclosedType: PullTypeSymbol): void; public addEnclosedMemberContainer(enclosedContainer: PullTypeSymbol): void; public addEnclosedNonMember(enclosedNonMember: PullSymbol): void; public addEnclosedNonMemberType(enclosedNonMemberType: PullTypeSymbol): void; public addEnclosedNonMemberContainer(enclosedNonMemberContainer: PullTypeSymbol): void; public addTypeParameter(typeParameter: PullTypeParameterSymbol): void; public getMembers(): PullSymbol[]; public setHasDefaultConstructor(hasOne?: boolean): void; public getHasDefaultConstructor(): boolean; public getConstructorMethod(): PullSymbol; public setConstructorMethod(constructorMethod: PullSymbol): void; public getTypeParameters(): PullTypeParameterSymbol[]; public getAllowedToReferenceTypeParameters(): PullTypeParameterSymbol[]; public isGeneric(): boolean; private canUseSimpleInstantiationCache(typeArgumentMap); private getSimpleInstantiationCacheId(typeArgumentMap); public addSpecialization(specializedVersionOfThisType: PullTypeSymbol, typeArgumentMap: TypeArgumentMap): void; public getSpecialization(typeArgumentMap: TypeArgumentMap): PullTypeSymbol; public getKnownSpecializations(): PullTypeSymbol[]; public getTypeArguments(): PullTypeSymbol[]; public getTypeArgumentsOrTypeParameters(): PullTypeSymbol[]; private addCallOrConstructSignaturePrerequisiteBase(signature); private addCallSignaturePrerequisite(callSignature); public appendCallSignature(callSignature: PullSignatureSymbol): void; public insertCallSignatureAtIndex(callSignature: PullSignatureSymbol, index: number): void; private addConstructSignaturePrerequisite(constructSignature); public appendConstructSignature(constructSignature: PullSignatureSymbol): void; public insertConstructSignatureAtIndex(constructSignature: PullSignatureSymbol, index: number): void; public addIndexSignature(indexSignature: PullSignatureSymbol): void; public hasOwnCallSignatures(): boolean; public getOwnCallSignatures(): PullSignatureSymbol[]; public getCallSignatures(): PullSignatureSymbol[]; public hasOwnConstructSignatures(): boolean; public getOwnDeclaredConstructSignatures(): PullSignatureSymbol[]; public getConstructSignatures(): PullSignatureSymbol[]; public hasOwnIndexSignatures(): boolean; public getOwnIndexSignatures(): PullSignatureSymbol[]; public getIndexSignatures(): PullSignatureSymbol[]; public getIndexSignaturesOfAugmentedType(resolver: PullTypeResolver, globalFunctionInterface: PullTypeSymbol, globalObjectInterface: PullTypeSymbol): PullSignatureSymbol[]; private getBaseClassConstructSignatures(baseType); private getDefaultClassConstructSignature(); public addImplementedType(implementedType: PullTypeSymbol): void; public getImplementedTypes(): PullTypeSymbol[]; public addExtendedType(extendedType: PullTypeSymbol): void; public getExtendedTypes(): PullTypeSymbol[]; public addTypeThatExtendsThisType(type: PullTypeSymbol): void; public getTypesThatExtendThisType(): PullTypeSymbol[]; public addTypeThatExplicitlyImplementsThisType(type: PullTypeSymbol): void; public getTypesThatExplicitlyImplementThisType(): PullTypeSymbol[]; public hasBase(potentialBase: PullTypeSymbol, visited?: PullSymbol[]): boolean; public isValidBaseKind(baseType: PullTypeSymbol, isExtendedType: boolean): boolean; public findMember(name: string, lookInParent: boolean): PullSymbol; public findNestedType(name: string, kind?: PullElementKind): PullTypeSymbol; public findNestedContainer(name: string, kind?: PullElementKind): PullTypeSymbol; public getAllMembers(searchDeclKind: PullElementKind, memberVisiblity: GetAllMembersVisiblity): PullSymbol[]; public findTypeParameter(name: string): PullTypeParameterSymbol; public setResolved(): void; public getNamePartForFullName(): string; public getScopedName(scopeSymbol?: PullSymbol, skipTypeParametersInName?: boolean, useConstraintInName?: boolean, skipInternalAliasName?: boolean): string; public isNamedTypeSymbol(): boolean; public toString(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string; public getScopedNameEx(scopeSymbol?: PullSymbol, skipTypeParametersInName?: boolean, useConstraintInName?: boolean, getPrettyTypeName?: boolean, getTypeParamMarkerInfo?: boolean, skipInternalAliasName?: boolean, shouldAllowArrayType?: boolean): MemberName; public hasOnlyOverloadCallSignatures(): boolean; public getTypeOfSymbol(): PullSymbol; private getMemberTypeNameEx(topLevel, scopeSymbol?, getPrettyTypeName?); public getGenerativeTypeClassification(enclosingType: PullTypeSymbol): GenerativeTypeClassification; public wrapsSomeTypeParameter(typeParameterArgumentMap: CandidateInferenceInfo[]): boolean; public wrapsSomeTypeParameter(typeParameterArgumentMap: TypeArgumentMap, skipTypeArgumentCheck?: boolean): boolean; public getWrappingTypeParameterID(typeParameterArgumentMap: TypeArgumentMap, skipTypeArgumentCheck?: boolean): number; private getWrappingTypeParameterIDFromSignatures(signatures, typeParameterArgumentMap); private getWrappingTypeParameterIDWorker(typeParameterArgumentMap, skipTypeArgumentCheck); public wrapsSomeTypeParameterIntoInfinitelyExpandingTypeReference(enclosingType: PullTypeSymbol): boolean; public _wrapsSomeTypeParameterIntoInfinitelyExpandingTypeReferenceRecurse(enclosingType: PullTypeSymbol, knownWrapMap: IBitMatrix): boolean; private _wrapsSomeTypeParameterIntoInfinitelyExpandingTypeReferenceWorker(enclosingType, knownWrapMap); private _wrapsSomeTypeParameterIntoInfinitelyExpandingTypeReferenceStructure(enclosingType, knownWrapMap); public widenedType(resolver: PullTypeResolver, ast: AST, context: PullTypeResolutionContext): PullTypeSymbol; } class PullPrimitiveTypeSymbol extends PullTypeSymbol { constructor(name: string); public isAny(): boolean; public isNull(): boolean; public isUndefined(): boolean; public isStringConstant(): boolean; public setUnresolved(): void; public getDisplayName(): string; } class PullStringConstantTypeSymbol extends PullPrimitiveTypeSymbol { constructor(name: string); public isStringConstant(): boolean; } class PullErrorTypeSymbol extends PullPrimitiveTypeSymbol { public _anyType: PullTypeSymbol; constructor(_anyType: PullTypeSymbol, name: string); public isError(): boolean; public _getResolver(): PullTypeResolver; public getName(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string; public getDisplayName(scopeSymbol?: PullSymbol, useConstraintInName?: boolean, skipInternalAliasName?: boolean): string; public toString(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string; } class PullContainerSymbol extends PullTypeSymbol { public instanceSymbol: PullSymbol; private assignedValue; private assignedType; private assignedContainer; constructor(name: string, kind: PullElementKind); public isContainer(): boolean; public setInstanceSymbol(symbol: PullSymbol): void; public getInstanceSymbol(): PullSymbol; public setExportAssignedValueSymbol(symbol: PullSymbol): void; public getExportAssignedValueSymbol(): PullSymbol; public setExportAssignedTypeSymbol(type: PullTypeSymbol): void; public getExportAssignedTypeSymbol(): PullTypeSymbol; public setExportAssignedContainerSymbol(container: PullContainerSymbol): void; public getExportAssignedContainerSymbol(): PullContainerSymbol; public hasExportAssignment(): boolean; static usedAsSymbol(containerSymbol: PullSymbol, symbol: PullSymbol): boolean; public getInstanceType(): PullTypeSymbol; } class PullTypeAliasSymbol extends PullTypeSymbol { private _assignedValue; private _assignedType; private _assignedContainer; private _isUsedAsValue; private _typeUsedExternally; private _isUsedInExportAlias; private retrievingExportAssignment; private linkedAliasSymbols; constructor(name: string); public isUsedInExportedAlias(): boolean; public typeUsedExternally(): boolean; public isUsedAsValue(): boolean; public setTypeUsedExternally(): void; public setIsUsedInExportedAlias(): void; public addLinkedAliasSymbol(contingentValueSymbol: PullTypeAliasSymbol): void; public setIsUsedAsValue(): void; public assignedValue(): PullSymbol; public assignedType(): PullTypeSymbol; public assignedContainer(): PullContainerSymbol; public isAlias(): boolean; public isContainer(): boolean; public setAssignedValueSymbol(symbol: PullSymbol): void; public getExportAssignedValueSymbol(): PullSymbol; public setAssignedTypeSymbol(type: PullTypeSymbol): void; public getExportAssignedTypeSymbol(): PullTypeSymbol; public setAssignedContainerSymbol(container: PullContainerSymbol): void; public getExportAssignedContainerSymbol(): PullContainerSymbol; public getMembers(): PullSymbol[]; public getCallSignatures(): PullSignatureSymbol[]; public getConstructSignatures(): PullSignatureSymbol[]; public getIndexSignatures(): PullSignatureSymbol[]; public findMember(name: string): PullSymbol; public findNestedType(name: string): PullTypeSymbol; public findNestedContainer(name: string): PullTypeSymbol; public getAllMembers(searchDeclKind: PullElementKind, memberVisibility: GetAllMembersVisiblity): PullSymbol[]; } class PullTypeParameterSymbol extends PullTypeSymbol { private _constraint; constructor(name: string); public isTypeParameter(): boolean; public setConstraint(constraintType: PullTypeSymbol): void; public getConstraint(): PullTypeSymbol; public getBaseConstraint(semanticInfoChain: SemanticInfoChain): PullTypeSymbol; private getConstraintRecursively(visitedTypeParameters); public getDefaultConstraint(semanticInfoChain: SemanticInfoChain): PullTypeSymbol; public getCallSignatures(): PullSignatureSymbol[]; public getConstructSignatures(): PullSignatureSymbol[]; public getIndexSignatures(): PullSignatureSymbol[]; public isGeneric(): boolean; public fullName(scopeSymbol?: PullSymbol): string; public getName(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string; public getDisplayName(scopeSymbol?: PullSymbol, useConstraintInName?: boolean, skipInternalAliasName?: boolean): string; public isExternallyVisible(inIsExternallyVisibleSymbols?: PullSymbol[]): boolean; } class PullAccessorSymbol extends PullSymbol { private _getterSymbol; private _setterSymbol; constructor(name: string); public isAccessor(): boolean; public setSetter(setter: PullSymbol): void; public getSetter(): PullSymbol; public setGetter(getter: PullSymbol): void; public getGetter(): PullSymbol; } function getIDForTypeSubstitutions(instantiatingType: PullTypeSymbol, typeArgumentMap: TypeArgumentMap): string; function getIDForTypeSubstitutions(instantiatingSignature: PullSignatureSymbol, typeArgumentMap: TypeArgumentMap): string; enum GetAllMembersVisiblity { all = 0, internallyVisible = 1, externallyVisible = 2, } } declare module TypeScript { class EnclosingTypeWalkerState { public _hasSetEnclosingType: boolean; public _currentSymbols: PullSymbol[]; static getDefaultEnclosingTypeWalkerState(): EnclosingTypeWalkerState; static getNonGenericEnclosingTypeWalkerState(): EnclosingTypeWalkerState; static getGenericEnclosingTypeWalkerState(genericEnclosingType: PullTypeSymbol): EnclosingTypeWalkerState; } class PullTypeEnclosingTypeWalker { private static _defaultEnclosingTypeWalkerState; private static _nonGenericEnclosingTypeWalkerState; private enclosingTypeWalkerState; constructor(); private setDefaultTypeWalkerState(); private setNonGenericEnclosingTypeWalkerState(); private canSymbolOrDeclBeUsedAsEnclosingTypeHelper(name, kind); private canDeclBeUsedAsEnclosingType(decl); private canSymbolBeUsedAsEnclosingType(symbol); public getEnclosingType(): PullTypeSymbol; public _canWalkStructure(): boolean; public _getCurrentSymbol(): PullSymbol; public getGenerativeClassification(): GenerativeTypeClassification; private _pushSymbol(symbol); private _popSymbol(); private setSymbolAsEnclosingType(type); private _setEnclosingTypeOfParentDecl(decl, setSignature); public setEnclosingTypeForSymbol(symbol: PullSymbol): EnclosingTypeWalkerState; public startWalkingType(symbol: PullTypeSymbol): EnclosingTypeWalkerState; public endWalkingType(stateWhenStartedWalkingTypes: EnclosingTypeWalkerState): void; public walkMemberType(memberName: string, resolver: PullTypeResolver): void; public postWalkMemberType(): void; public walkSignature(kind: PullElementKind, index: number): void; public postWalkSignature(): void; public walkTypeArgument(index: number): void; public postWalkTypeArgument(): void; public walkTypeParameterConstraint(index: number): void; public postWalkTypeParameterConstraint(): void; public walkReturnType(): void; public postWalkReturnType(): void; public walkParameterType(iParam: number): void; public postWalkParameterType(): void; public getBothKindOfIndexSignatures(resolver: PullTypeResolver, context: PullTypeResolutionContext, includeAugmentedType: boolean): IndexSignatureInfo; public walkIndexSignatureReturnType(indexSigInfo: IndexSignatureInfo, useStringIndexSignature: boolean, onlySignature?: boolean): void; public postWalkIndexSignatureReturnType(onlySignature?: boolean): void; public resetEnclosingTypeWalkerState(): EnclosingTypeWalkerState; public setEnclosingTypeWalkerState(enclosingTypeWalkerState: EnclosingTypeWalkerState): void; } } declare module TypeScript { class CandidateInferenceInfo { public typeParameter: PullTypeParameterSymbol; public _inferredTypeAfterFixing: PullTypeSymbol; public inferenceCandidates: PullTypeSymbol[]; public addCandidate(candidate: PullTypeSymbol): void; public isFixed(): boolean; public fixTypeParameter(resolver: PullTypeResolver, context: PullTypeResolutionContext): void; } class TypeArgumentInferenceContext { public resolver: PullTypeResolver; public context: PullTypeResolutionContext; public signatureBeingInferred: PullSignatureSymbol; public inferenceCache: IBitMatrix; public candidateCache: CandidateInferenceInfo[]; constructor(resolver: PullTypeResolver, context: PullTypeResolutionContext, signatureBeingInferred: PullSignatureSymbol); public alreadyRelatingTypes(objectType: PullTypeSymbol, parameterType: PullTypeSymbol): boolean; public resetRelationshipCache(): void; public addInferenceRoot(param: PullTypeParameterSymbol): void; public getInferenceInfo(param: PullTypeParameterSymbol): CandidateInferenceInfo; public addCandidateForInference(param: PullTypeParameterSymbol, candidate: PullTypeSymbol): void; public inferTypeArguments(): PullTypeSymbol[]; public fixTypeParameter(typeParameter: PullTypeParameterSymbol): void; public _finalizeInferredTypeArguments(): PullTypeSymbol[]; public isInvocationInferenceContext(): boolean; } class InvocationTypeArgumentInferenceContext extends TypeArgumentInferenceContext { public argumentASTs: ISeparatedSyntaxList2; constructor(resolver: PullTypeResolver, context: PullTypeResolutionContext, signatureBeingInferred: PullSignatureSymbol, argumentASTs: ISeparatedSyntaxList2); public isInvocationInferenceContext(): boolean; public inferTypeArguments(): PullTypeSymbol[]; } class ContextualSignatureInstantiationTypeArgumentInferenceContext extends TypeArgumentInferenceContext { private contextualSignature; private shouldFixContextualSignatureParameterTypes; constructor(resolver: PullTypeResolver, context: PullTypeResolutionContext, signatureBeingInferred: PullSignatureSymbol, contextualSignature: PullSignatureSymbol, shouldFixContextualSignatureParameterTypes: boolean); public isInvocationInferenceContext(): boolean; public inferTypeArguments(): PullTypeSymbol[]; } class PullContextualTypeContext { public contextualType: PullTypeSymbol; public provisional: boolean; public isInferentiallyTyping: boolean; public typeArgumentInferenceContext: TypeArgumentInferenceContext; public provisionallyTypedSymbols: PullSymbol[]; public hasProvisionalErrors: boolean; private astSymbolMap; constructor(contextualType: PullTypeSymbol, provisional: boolean, isInferentiallyTyping: boolean, typeArgumentInferenceContext: TypeArgumentInferenceContext); public recordProvisionallyTypedSymbol(symbol: PullSymbol): void; public invalidateProvisionallyTypedSymbols(): void; public setSymbolForAST(ast: AST, symbol: PullSymbol): void; public getSymbolForAST(ast: AST): PullSymbol; } class PullTypeResolutionContext { private resolver; public inTypeCheck: boolean; public fileName: string; private contextStack; private typeCheckedNodes; private enclosingTypeWalker1; private enclosingTypeWalker2; constructor(resolver: PullTypeResolver, inTypeCheck?: boolean, fileName?: string); public setTypeChecked(ast: AST): void; public canTypeCheckAST(ast: AST): boolean; private _pushAnyContextualType(type, provisional, isInferentiallyTyping, argContext); public pushNewContextualType(type: PullTypeSymbol): void; public propagateContextualType(type: PullTypeSymbol): void; public pushInferentialType(type: PullTypeSymbol, typeArgumentInferenceContext: TypeArgumentInferenceContext): void; public pushProvisionalType(type: PullTypeSymbol): void; public popAnyContextualType(): PullContextualTypeContext; public hasProvisionalErrors(): boolean; public getContextualType(): PullTypeSymbol; public fixAllTypeParametersReferencedByType(type: PullTypeSymbol, resolver: PullTypeResolver, argContext?: TypeArgumentInferenceContext): PullTypeSymbol; private getCurrentTypeArgumentInferenceContext(); public isInferentiallyTyping(): boolean; public inProvisionalResolution(): boolean; private inBaseTypeResolution; public isInBaseTypeResolution(): boolean; public startBaseTypeResolution(): boolean; public doneBaseTypeResolution(wasInBaseTypeResolution: boolean): void; public setTypeInContext(symbol: PullSymbol, type: PullTypeSymbol): void; public postDiagnostic(diagnostic: Diagnostic): void; public typeCheck(): boolean; public setSymbolForAST(ast: AST, symbol: PullSymbol): void; public getSymbolForAST(ast: AST): PullSymbol; public startWalkingTypes(symbol1: PullTypeSymbol, symbol2: PullTypeSymbol): { stateWhenStartedWalkingTypes1: EnclosingTypeWalkerState; stateWhenStartedWalkingTypes2: EnclosingTypeWalkerState; }; public endWalkingTypes(statesWhenStartedWalkingTypes: { stateWhenStartedWalkingTypes1: EnclosingTypeWalkerState; stateWhenStartedWalkingTypes2: EnclosingTypeWalkerState; }): void; public setEnclosingTypeForSymbols(symbol1: PullSymbol, symbol2: PullSymbol): { enclosingTypeWalkerState1: EnclosingTypeWalkerState; enclosingTypeWalkerState2: EnclosingTypeWalkerState; }; public walkMemberTypes(memberName: string): void; public postWalkMemberTypes(): void; public walkSignatures(kind: PullElementKind, index: number, index2?: number): void; public postWalkSignatures(): void; public walkTypeParameterConstraints(index: number): void; public postWalkTypeParameterConstraints(): void; public walkTypeArgument(index: number): void; public postWalkTypeArgument(): void; public walkReturnTypes(): void; public postWalkReturnTypes(): void; public walkParameterTypes(iParam: number): void; public postWalkParameterTypes(): void; public getBothKindOfIndexSignatures(includeAugmentedType1: boolean, includeAugmentedType2: boolean): { indexSigs1: IndexSignatureInfo; indexSigs2: IndexSignatureInfo; }; public walkIndexSignatureReturnTypes(indexSigs: { indexSigs1: IndexSignatureInfo; indexSigs2: IndexSignatureInfo; }, useStringIndexSignature1: boolean, useStringIndexSignature2: boolean, onlySignature?: boolean): void; public postWalkIndexSignatureReturnTypes(onlySignature?: boolean): void; public swapEnclosingTypeWalkers(): void; public oneOfClassificationsIsInfinitelyExpanding(): boolean; public resetEnclosingTypeWalkerStates(): { enclosingTypeWalkerState1: EnclosingTypeWalkerState; enclosingTypeWalkerState2: EnclosingTypeWalkerState; }; public setEnclosingTypeWalkerStates(enclosingTypeWalkerStates: { enclosingTypeWalkerState1: EnclosingTypeWalkerState; enclosingTypeWalkerState2: EnclosingTypeWalkerState; }): void; } } declare module TypeScript { interface IPullTypeCollection { getLength(): number; getTypeAtIndex(index: number): PullTypeSymbol; } class PullAdditionalCallResolutionData { public targetSymbol: PullSymbol; public resolvedSignatures: PullSignatureSymbol[]; public candidateSignature: PullSignatureSymbol; public actualParametersContextTypeSymbols: PullTypeSymbol[]; public diagnosticsFromOverloadResolution: Diagnostic[]; } class PullAdditionalObjectLiteralResolutionData { public membersContextTypeSymbols: PullTypeSymbol[]; } interface IndexSignatureInfo { numericSignature: PullSignatureSymbol; stringSignature: PullSignatureSymbol; } class PullTypeResolver { private compilationSettings; public semanticInfoChain: SemanticInfoChain; private _cachedArrayInterfaceType; private _cachedNumberInterfaceType; private _cachedStringInterfaceType; private _cachedBooleanInterfaceType; private _cachedObjectInterfaceType; private _cachedFunctionInterfaceType; private _cachedIArgumentsInterfaceType; private _cachedRegExpInterfaceType; private _cachedAnyTypeArgs; private typeCheckCallBacks; private postTypeCheckWorkitems; private _cachedFunctionArgumentsSymbol; private assignableCache; private subtypeCache; private identicalCache; private inResolvingOtherDeclsWalker; constructor(compilationSettings: ImmutableCompilationSettings, semanticInfoChain: SemanticInfoChain); private cachedArrayInterfaceType(); public getArrayNamedType(): PullTypeSymbol; private cachedNumberInterfaceType(); private cachedStringInterfaceType(); private cachedBooleanInterfaceType(); private cachedObjectInterfaceType(); private cachedFunctionInterfaceType(); private cachedIArgumentsInterfaceType(); private cachedRegExpInterfaceType(); private cachedFunctionArgumentsSymbol(); private getApparentType(type); private setTypeChecked(ast, context); private canTypeCheckAST(ast, context); private setSymbolForAST(ast, symbol, context); private getSymbolForAST(ast, context); public getASTForDecl(decl: PullDecl): AST; public getNewErrorTypeSymbol(name?: string): PullErrorTypeSymbol; public getEnclosingDecl(decl: PullDecl): PullDecl; private getExportedMemberSymbol(symbol, parent); public _getNamedPropertySymbolOfAugmentedType(symbolName: string, parent: PullTypeSymbol): PullSymbol; private getNamedPropertySymbol(symbolName, declSearchKind, parent); private getSymbolFromDeclPath(symbolName, declPath, declSearchKind); private getVisibleDeclsFromDeclPath(declPath, declSearchKind); private addFilteredDecls(decls, declSearchKind, result); public getVisibleDecls(enclosingDecl: PullDecl): PullDecl[]; public getVisibleContextSymbols(enclosingDecl: PullDecl, context: PullTypeResolutionContext): PullSymbol[]; public getVisibleMembersFromExpression(expression: AST, enclosingDecl: PullDecl, context: PullTypeResolutionContext): PullSymbol[]; private isAnyOrEquivalent(type); private resolveExternalModuleReference(idText, currentFileName); public resolveDeclaredSymbol(symbol: TSymbol, context?: PullTypeResolutionContext): TSymbol; private resolveDeclaredSymbolWorker(symbol, context); private resolveOtherDecl(otherDecl, context); private resolveOtherDeclarations(astName, context); private resolveSourceUnit(sourceUnit, context); private typeCheckSourceUnit(sourceUnit, context); private verifyUniquenessOfImportNamesInSourceUnit(sourceUnit); private resolveEnumDeclaration(ast, context); private typeCheckEnumDeclaration(ast, context); private postTypeCheckEnumDeclaration(ast, context); private checkInitializersInEnumDeclarations(decl, context); private resolveModuleDeclaration(ast, context); private ensureAllSymbolsAreBound(containerSymbol); private resolveModuleSymbol(containerSymbol, context, moduleDeclAST, moduleDeclNameAST, sourceUnitAST); private resolveFirstExportAssignmentStatement(moduleElements, context); private resolveSingleModuleDeclaration(ast, astName, context); private typeCheckModuleDeclaration(ast, context); private typeCheckSingleModuleDeclaration(ast, astName, context); private verifyUniquenessOfImportNamesInModule(decl); private checkUniquenessOfImportNames(decls, doesNameExistOutside?); private scanVariableDeclarationGroups(enclosingDecl, firstDeclHandler, subsequentDeclHandler?); private postTypeCheckModuleDeclaration(ast, context); private isTypeRefWithoutTypeArgs(term); public createInstantiatedType(type: PullTypeSymbol, typeArguments: PullTypeSymbol[]): PullTypeSymbol; private resolveReferenceTypeDeclaration(classOrInterface, name, heritageClauses, context); private resolveClassDeclaration(classDeclAST, context); private typeCheckTypeParametersOfTypeDeclaration(classOrInterface, context); private typeCheckClassDeclaration(classDeclAST, context); private postTypeCheckClassDeclaration(classDeclAST, context); private resolveTypeSymbolSignatures(typeSymbol, context); private resolveInterfaceDeclaration(interfaceDeclAST, context); private typeCheckInterfaceDeclaration(interfaceDeclAST, context); private checkInterfaceDeclForIdenticalTypeParameters(interfaceDeclAST, context); private checkTypeForDuplicateIndexSignatures(enclosingTypeSymbol); private filterSymbol(symbol, kind, enclosingDecl, context); private getMemberSymbolOfKind(symbolName, kind, pullTypeSymbol, enclosingDecl, context); private resolveIdentifierOfInternalModuleReference(importDecl, identifier, moduleSymbol, enclosingDecl, context); private resolveModuleReference(importDecl, moduleNameExpr, enclosingDecl, context, declPath); private resolveInternalModuleReference(importStatementAST, context); private resolveImportDeclaration(importStatementAST, context); private typeCheckImportDeclaration(importStatementAST, context); private postTypeCheckImportDeclaration(importStatementAST, context); private resolveExportAssignmentStatement(exportAssignmentAST, context); private resolveAnyFunctionTypeSignature(funcDeclAST, typeParameters, parameterList, returnTypeAnnotation, context); private resolveFunctionTypeSignatureParameter(argDeclAST, signature, enclosingDecl, context); private resolveFunctionExpressionParameter(argDeclAST, id, typeExpr, equalsValueClause, contextParam, enclosingDecl, context); private checkNameForCompilerGeneratedDeclarationCollision(astWithName, isDeclaration, name, context); private hasRestParameterCodeGen(someFunctionDecl); private checkArgumentsCollides(ast, context); private checkIndexOfRestArgumentInitializationCollides(ast, isDeclaration, context); private checkExternalModuleRequireExportsCollides(ast, name, context); private resolveObjectTypeTypeReference(objectType, context); private typeCheckObjectTypeTypeReference(objectType, context); private resolveTypeAnnotation(typeAnnotation, context); public resolveTypeReference(typeRef: AST, context: PullTypeResolutionContext): PullTypeSymbol; private getArrayType(elementType); private computeTypeReferenceSymbol(term, context); private genericTypeIsUsedWithoutRequiredTypeArguments(typeSymbol, term, context); private resolveMemberVariableDeclaration(varDecl, context); private resolvePropertySignature(varDecl, context); private resolveVariableDeclarator(varDecl, context); private resolveParameterList(list, context); private resolveParameter(parameter, context); private getEnumTypeSymbol(enumElement, context); private resolveEnumElement(enumElement, context); private typeCheckEnumElement(enumElement, context); private resolveEqualsValueClause(clause, isContextuallyTyped, context); private resolveVariableDeclaratorOrParameterOrEnumElement(varDeclOrParameter, modifiers, name, typeExpr, init, context); private resolveAndTypeCheckVariableDeclarationTypeExpr(varDeclOrParameter, name, typeExpr, context); private resolveAndTypeCheckVariableDeclaratorOrParameterInitExpr(varDeclOrParameter, name, typeExpr, init, context, typeExprSymbol); private typeCheckPropertySignature(varDecl, context); private typeCheckMemberVariableDeclaration(varDecl, context); private typeCheckVariableDeclarator(varDecl, context); private typeCheckParameter(parameter, context); private typeCheckVariableDeclaratorOrParameterOrEnumElement(varDeclOrParameter, modifiers, name, typeExpr, init, context); private isForInVariableDeclarator(ast); private checkSuperCaptureVariableCollides(superAST, isDeclaration, context); private checkThisCaptureVariableCollides(_thisAST, isDeclaration, context); private postTypeCheckVariableDeclaratorOrParameter(varDeclOrParameter, context); private resolveTypeParameterDeclaration(typeParameterAST, context); private resolveFirstTypeParameterDeclaration(typeParameterSymbol, context); private typeCheckTypeParameterDeclaration(typeParameterAST, context); private resolveConstraint(constraint, context); private resolveFunctionBodyReturnTypes(funcDeclAST, block, bodyExpression, signature, useContextualType, enclosingDecl, context); private typeCheckConstructorDeclaration(funcDeclAST, context); private constructorHasSuperCall(constructorDecl); private typeCheckFunctionExpression(funcDecl, isContextuallyTyped, context); private typeCheckCallSignature(funcDecl, context); private typeCheckConstructSignature(funcDecl, context); private typeCheckMethodSignature(funcDecl, context); private typeCheckMemberFunctionDeclaration(funcDecl, context); private containsSingleThrowStatement(block); private typeCheckAnyFunctionDeclaration(funcDeclAST, isStatic, name, typeParameters, parameters, returnTypeAnnotation, block, context); private checkThatNonVoidFunctionHasReturnExpressionOrThrowStatement(functionDecl, returnTypeAnnotation, returnTypeSymbol, block, context); private typeCheckIndexSignature(funcDeclAST, context); private postTypeCheckFunctionDeclaration(funcDeclAST, context); private resolveReturnTypeAnnotationOfFunctionDeclaration(funcDeclAST, returnTypeAnnotation, context); private resolveMemberFunctionDeclaration(funcDecl, context); private resolveCallSignature(funcDecl, context); private resolveConstructSignature(funcDecl, context); private resolveMethodSignature(funcDecl, context); private resolveAnyFunctionDeclaration(funcDecl, context); private resolveFunctionExpression(funcDecl, isContextuallyTyped, context); private resolveSimpleArrowFunctionExpression(funcDecl, isContextuallyTyped, context); private resolveParenthesizedArrowFunctionExpression(funcDecl, isContextuallyTyped, context); private getEnclosingClassDeclaration(ast); private resolveConstructorDeclaration(funcDeclAST, context); private resolveIndexMemberDeclaration(ast, context); private resolveIndexSignature(funcDeclAST, context); private resolveFunctionDeclaration(funcDeclAST, isStatic, name, typeParameters, parameterList, returnTypeAnnotation, block, context); private resolveGetterReturnTypeAnnotation(getterFunctionDeclarationAst, enclosingDecl, context); private resolveSetterArgumentTypeAnnotation(setterFunctionDeclarationAst, enclosingDecl, context); private resolveAccessorDeclaration(funcDeclAst, context); private typeCheckAccessorDeclaration(funcDeclAst, context); private resolveGetAccessorDeclaration(funcDeclAST, parameters, returnTypeAnnotation, block, setterAnnotatedType, context); private checkIfGetterAndSetterTypeMatch(funcDeclAST, context); private typeCheckGetAccessorDeclaration(funcDeclAST, context); static hasSetAccessorParameterTypeAnnotation(setAccessor: SetAccessor): boolean; private resolveSetAccessorDeclaration(funcDeclAST, parameterList, context); private typeCheckSetAccessorDeclaration(funcDeclAST, context); private resolveList(list, context); private resolveSeparatedList(list, context); private resolveVoidExpression(ast, context); private resolveLogicalOperation(ast, context); private typeCheckLogicalOperation(binex, context); private resolveLogicalNotExpression(ast, context); private resolveUnaryArithmeticOperation(ast, context); private resolvePostfixUnaryExpression(ast, context); private isAnyOrNumberOrEnum(type); private typeCheckUnaryArithmeticOperation(unaryExpression, context); private typeCheckPostfixUnaryExpression(unaryExpression, context); private resolveBinaryArithmeticExpression(binaryExpression, context); private typeCheckBinaryArithmeticExpression(binaryExpression, context); private resolveTypeOfExpression(ast, context); private resolveThrowStatement(ast, context); private resolveDeleteExpression(ast, context); private resolveInstanceOfExpression(ast, context); private typeCheckInstanceOfExpression(binaryExpression, context); private resolveCommaExpression(commaExpression, context); private resolveInExpression(ast, context); private typeCheckInExpression(binaryExpression, context); private resolveForStatement(ast, context); private resolveForInStatement(forInStatement, context); private typeCheckForInStatement(forInStatement, context); private resolveWhileStatement(ast, context); private typeCheckWhileStatement(ast, context); private resolveDoStatement(ast, context); private typeCheckDoStatement(ast, context); private resolveIfStatement(ast, context); private typeCheckIfStatement(ast, context); private resolveElseClause(ast, context); private typeCheckElseClause(ast, context); private resolveBlock(ast, context); private resolveVariableStatement(ast, context); private resolveVariableDeclarationList(ast, context); private resolveWithStatement(ast, context); private typeCheckWithStatement(ast, context); private resolveTryStatement(ast, context); private typeCheckTryStatement(ast, context); private resolveCatchClause(ast, context); private typeCheckCatchClause(ast, context); private resolveFinallyClause(ast, context); private typeCheckFinallyClause(ast, context); private getEnclosingFunctionDeclaration(ast); private resolveReturnExpression(expression, enclosingFunction, context); private typeCheckReturnExpression(expression, expressionType, enclosingFunction, context); private resolveReturnStatement(returnAST, context); private resolveSwitchStatement(ast, context); private typeCheckSwitchStatement(ast, context); private resolveLabeledStatement(ast, context); private typeCheckLabeledStatement(ast, context); private labelIsOnContinuableConstruct(statement); private resolveContinueStatement(ast, context); private isIterationStatement(ast); private isAnyFunctionExpressionOrDeclaration(ast); private inSwitchStatement(ast); private inIterationStatement(ast, crossFunctions); private getEnclosingLabels(ast, breakable, crossFunctions); private typeCheckContinueStatement(ast, context); private resolveBreakStatement(ast, context); private typeCheckBreakStatement(ast, context); public resolveAST(ast: AST, isContextuallyTyped: boolean, context: PullTypeResolutionContext): PullSymbol; private resolveExpressionAST(ast, isContextuallyOrInferentiallyTyped, context); private resolveExpressionWorker(ast, isContextuallyTyped, context); private typeCheckAST(ast, isContextuallyTyped, context); private processPostTypeCheckWorkItems(context); private postTypeCheck(ast, context); private resolveRegularExpressionLiteral(); private postTypeCheckNameExpression(nameAST, context); private typeCheckNameExpression(nameAST, context); private resolveNameExpression(nameAST, context); private isInEnumDecl(decl); private getSomeInnermostFunctionScopeDecl(declPath); private isFromFunctionScope(nameSymbol, functionScopeDecl); private findConstructorDeclOfEnclosingType(decl); private checkNameAsPartOfInitializerExpressionForInstanceMemberVariable(nameAST, nameSymbol, context); private computeNameExpression(nameAST, context); private getCurrentParameterIndexForFunction(parameter, funcDecl); private resolveMemberAccessExpression(dottedNameAST, context); private resolveDottedNameExpression(dottedNameAST, expression, name, context); private computeDottedNameExpression(expression, name, context, checkSuperPrivateAndStaticAccess); private computeDottedNameExpressionFromLHS(lhs, expression, name, context, checkSuperPrivateAndStaticAccess); private resolveTypeNameExpression(nameAST, context); private computeTypeNameExpression(nameAST, context); private isInStaticMemberContext(decl); private isLeftSideOfQualifiedName(ast); private resolveGenericTypeReference(genericTypeAST, context); private resolveQualifiedName(dottedNameAST, context); private isLastNameOfModuleNameModuleReference(ast); private computeQualifiedName(dottedNameAST, context); private shouldContextuallyTypeAnyFunctionExpression(functionExpressionAST, typeParameters, parameters, returnTypeAnnotation, context); private resolveAnyFunctionExpression(funcDeclAST, typeParameters, parameters, returnTypeAnnotation, block, bodyExpression, isContextuallyTyped, context); private resolveAnyFunctionExpressionParameters(funcDeclAST, typeParameters, parameters, returnTypeAnnotation, isContextuallyTyped, context); private typeCheckSimpleArrowFunctionExpression(arrowFunction, isContextuallyTyped, context); private typeCheckParenthesizedArrowFunctionExpression(arrowFunction, isContextuallyTyped, context); private typeCheckAnyFunctionExpression(funcDeclAST, typeParameters, parameters, returnTypeAnnotation, block, bodyExpression, isContextuallyTyped, context); private resolveThisExpression(thisExpression, context); private inTypeArgumentList(ast); private inClassExtendsHeritageClause(ast); private inTypeQuery(ast); private inArgumentListOfSuperInvocation(ast); private inConstructorParameterList(ast); private isFunctionAccessorOrNonArrowFunctionExpression(decl); private isFunctionOrNonArrowFunctionExpression(decl); private typeCheckThisExpression(thisExpression, context, enclosingDecl); private getContextualClassSymbolForEnclosingDecl(ast, enclosingDecl); private inStaticMemberVariableDeclaration(ast); private resolveSuperExpression(ast, context); private typeCheckSuperExpression(ast, context, enclosingDecl); private resolveSimplePropertyAssignment(propertyAssignment, isContextuallyTyped, context); private resolveFunctionPropertyAssignment(funcProp, isContextuallyTyped, context); private typeCheckFunctionPropertyAssignment(funcProp, isContextuallyTyped, context); public resolveObjectLiteralExpression(expressionAST: ObjectLiteralExpression, isContextuallyTyped: boolean, context: PullTypeResolutionContext, additionalResults?: PullAdditionalObjectLiteralResolutionData): PullSymbol; private bindObjectLiteralMembers(objectLiteralDeclaration, objectLiteralTypeSymbol, objectLiteralMembers, isUsingExistingSymbol, pullTypeContext); private resolveObjectLiteralMembers(objectLiteralDeclaration, objectLiteralTypeSymbol, objectLiteralContextualType, objectLiteralMembers, stringIndexerSignature, numericIndexerSignature, allMemberTypes, allNumericMemberTypes, boundMemberSymbols, isUsingExistingSymbol, pullTypeContext, additionalResults?); private computeObjectLiteralExpression(objectLitAST, isContextuallyTyped, context, additionalResults?); private getPropertyAssignmentName(propertyAssignment); private stampObjectLiteralWithIndexSignature(objectLiteralSymbol, indexerTypeCandidates, contextualIndexSignature, context); private resolveArrayLiteralExpression(arrayLit, isContextuallyTyped, context); private computeArrayLiteralExpressionSymbol(arrayLit, isContextuallyTyped, context); private resolveElementAccessExpression(callEx, context); private typeCheckElementAccessExpression(callEx, context, symbolAndDiagnostic); private computeElementAccessExpressionSymbolAndDiagnostic(callEx, context); private getBothKindsOfIndexSignaturesIncludingAugmentedType(enclosingType, context); private getBothKindsOfIndexSignaturesExcludingAugmentedType(enclosingType, context); public _getBothKindsOfIndexSignatures(enclosingType: PullTypeSymbol, context: PullTypeResolutionContext, includeAugmentedType: boolean): IndexSignatureInfo; public _addUnhiddenSignaturesFromBaseType(derivedTypeSignatures: PullSignatureSymbol[], baseTypeSignatures: PullSignatureSymbol[], signaturesBeingAggregated: PullSignatureSymbol[]): void; private resolveBinaryAdditionOperation(binaryExpression, context); private bestCommonTypeOfTwoTypes(type1, type2, context); private bestCommonTypeOfThreeTypes(type1, type2, type3, context); private resolveLogicalOrExpression(binex, isContextuallyTyped, context); private resolveLogicalAndExpression(binex, context); private computeTypeOfConditionalExpression(leftType, rightType, isContextuallyTyped, context); private resolveConditionalExpression(trinex, isContextuallyTyped, context); private conditionExpressionTypesAreValid(leftType, rightType, expressionType, isContextuallyTyped, context); private resolveParenthesizedExpression(ast, context); private resolveExpressionStatement(ast, context); public resolveInvocationExpression(callEx: InvocationExpression, context: PullTypeResolutionContext, additionalResults?: PullAdditionalCallResolutionData): PullSymbol; private typeCheckInvocationExpression(callEx, context); private computeInvocationExpressionSymbol(callEx, context, additionalResults); public resolveObjectCreationExpression(callEx: ObjectCreationExpression, context: PullTypeResolutionContext, additionalResults?: PullAdditionalCallResolutionData): PullSymbol; private typeCheckObjectCreationExpression(callEx, context); private postOverloadResolutionDiagnostics(diagnostic, additionalResults, context); private computeObjectCreationExpressionSymbol(callEx, context, additionalResults); private instantiateSignatureInContext(signatureAToInstantiate, contextualSignatureB, context, shouldFixContextualSignatureParameterTypes); private resolveCastExpression(assertionExpression, context); private typeCheckCastExpression(assertionExpression, context, typeAssertionType); private resolveAssignmentExpression(binaryExpression, context); private getInstanceTypeForAssignment(lhs, type, context); public widenType(type: PullTypeSymbol, ast: AST, context: PullTypeResolutionContext): PullTypeSymbol; private widenArrayType(type, ast, context); private widenObjectLiteralType(type, ast, context); private needsToWidenObjectLiteralType(type, ast, context); public findBestCommonType(collection: IPullTypeCollection, context: PullTypeResolutionContext, comparisonInfo?: TypeComparisonInfo): PullTypeSymbol; private typeIsBestCommonTypeCandidate(candidateType, collection, context); private typesAreIdenticalInEnclosingTypes(t1, t2, context); private typesAreIdenticalWithNewEnclosingTypes(t1, t2, context); public typesAreIdentical(t1: PullTypeSymbol, t2: PullTypeSymbol, context: PullTypeResolutionContext): boolean; private typesAreIdenticalWorker(t1, t2, context); private propertiesAreIdentical(propertySymbol1, propertySymbol2, context); private propertiesAreIdenticalWithNewEnclosingTypes(type1, type2, property1, property2, context); private signatureGroupsAreIdentical(sg1, sg2, context); private typeParametersAreIdentical(tp1, tp2, context); private typeParametersAreIdenticalWorker(tp1, tp2, context); private setTypeParameterIdentity(tp1, tp2, val); public signaturesAreIdenticalWithNewEnclosingTypes(s1: PullSignatureSymbol, s2: PullSignatureSymbol, context: PullTypeResolutionContext, includingReturnType?: boolean): boolean; private signaturesAreIdentical(s1, s2, context, includingReturnType?); public signaturesAreIdenticalWorker(s1: PullSignatureSymbol, s2: PullSignatureSymbol, context: PullTypeResolutionContext, includingReturnType?: boolean): boolean; private signatureTypeParametersParametersAndReturnTypesAreIdentical(s1, s2, context, includingReturnType?); public signatureReturnTypesAreIdentical(s1: PullSignatureSymbol, s2: PullSignatureSymbol, context: PullTypeResolutionContext): boolean; private symbolsShareDeclaration(symbol1, symbol2); private sourceIsSubtypeOfTarget(source, target, ast, context, comparisonInfo?, isComparingInstantiatedSignatures?); private sourceMembersAreAssignableToTargetMembers(source, target, ast, context, comparisonInfo, isComparingInstantiatedSignatures?); private sourcePropertyIsAssignableToTargetProperty(source, target, sourceProp, targetProp, ast, context, comparisonInfo, isComparingInstantiatedSignatures?); private sourceCallSignaturesAreAssignableToTargetCallSignatures(source, target, ast, context, comparisonInfo, isComparingInstantiatedSignatures?); private sourceConstructSignaturesAreAssignableToTargetConstructSignatures(source, target, ast, context, comparisonInfo, isComparingInstantiatedSignatures?); private sourceIndexSignaturesAreAssignableToTargetIndexSignatures(source, target, ast, context, comparisonInfo, isComparingInstantiatedSignatures?); private typeIsAssignableToFunction(source, ast, context); private signatureIsAssignableToTarget(s1, s2, ast, context, comparisonInfo?, isComparingInstantiatedSignatures?); private sourceIsAssignableToTarget(source, target, ast, context, comparisonInfo?, isComparingInstantiatedSignatures?); private sourceIsAssignableToTargetWithNewEnclosingTypes(source, target, ast, context, comparisonInfo?, isComparingInstantiatedSignatures?); private getSymbolForRelationshipCheck(symbol); private sourceIsRelatableToTargetInEnclosingTypes(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); private sourceIsRelatableToTargetWithNewEnclosingTypes(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); private sourceIsRelatableToTargetInCache(source, target, comparisonCache, comparisonInfo); private sourceIsRelatableToTarget(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); private isSourceTypeParameterConstrainedToTargetTypeParameter(source, target); private sourceIsRelatableToTargetWorker(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); private sourceMembersAreRelatableToTargetMembers(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); private infinitelyExpandingSourceTypeIsRelatableToTargetType(sourceType, targetType, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); private infinitelyExpandingTypesAreIdentical(sourceType, targetType, context); private sourcePropertyIsRelatableToTargetProperty(source, target, sourceProp, targetProp, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); private sourceCallSignaturesAreRelatableToTargetCallSignatures(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); private sourceConstructSignaturesAreRelatableToTargetConstructSignatures(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); private sourceIndexSignaturesAreRelatableToTargetIndexSignatures(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); private signatureGroupIsRelatableToTarget(source, target, sourceSG, targetSG, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); private signatureIsRelatableToTarget(sourceSig, targetSig, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); private signatureIsRelatableToTargetWorker(sourceSig, targetSig, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); private resolveOverloads(application, group, haveTypeArgumentsAtCallSite, context, diagnostics); private getCallTargetErrorSpanAST(callEx); private overloadHasCorrectArity(signature, args); private overloadIsApplicable(signature, args, context, comparisonInfo); private overloadIsApplicableForArgument(paramType, arg, argIndex, context, comparisonInfo); private overloadIsApplicableForAnyFunctionExpressionArgument(paramType, arg, typeParameters, parameters, returnTypeAnnotation, block, bodyExpression, argIndex, context, comparisonInfo); private overloadIsApplicableForObjectLiteralArgument(paramType, arg, argIndex, context, comparisonInfo); private overloadIsApplicableForArrayLiteralArgument(paramType, arg, argIndex, context, comparisonInfo); private overloadIsApplicableForOtherArgument(paramType, arg, argIndex, context, comparisonInfo); private overloadIsApplicableForArgumentHelper(paramType, argSym, argumentIndex, comparisonInfo, arg, context); private inferArgumentTypesForSignature(argContext, comparisonInfo, context); private typeParametersAreInScopeAtArgumentList(typeParameters, args); private relateTypeToTypeParametersInEnclosingType(expressionType, parameterType, argContext, context); public relateTypeToTypeParametersWithNewEnclosingTypes(expressionType: PullTypeSymbol, parameterType: PullTypeSymbol, argContext: TypeArgumentInferenceContext, context: PullTypeResolutionContext): void; public relateTypeToTypeParameters(expressionType: PullTypeSymbol, parameterType: PullTypeSymbol, argContext: TypeArgumentInferenceContext, context: PullTypeResolutionContext): void; private relateTypeArgumentsOfTypeToTypeParameters(expressionType, parameterType, argContext, context); private relateInifinitelyExpandingTypeToTypeParameters(expressionType, parameterType, argContext, context); private relateFunctionSignatureToTypeParameters(expressionSignature, parameterSignature, argContext, context); private relateObjectTypeToTypeParameters(objectType, parameterType, argContext, context); private relateSignatureGroupToTypeParameters(argumentSignatures, parameterSignatures, signatureKind, argContext, context); private alterPotentialGenericFunctionTypeToInstantiatedFunctionTypeForTypeArgumentInference(expressionSymbol, context); private isFunctionTypeWithExactlyOneCallSignatureAndNoOtherMembers(type, callSignatureShouldBeGeneric); public instantiateTypeToAny(typeToSpecialize: PullTypeSymbol, context: PullTypeResolutionContext): PullTypeSymbol; public instantiateSignatureToAny(signature: PullSignatureSymbol): PullSignatureSymbol; static globalTypeCheckPhase: number; static typeCheck(compilationSettings: ImmutableCompilationSettings, semanticInfoChain: SemanticInfoChain, document: Document): void; private validateVariableDeclarationGroups(enclosingDecl, context); private typeCheckFunctionOverloads(funcDecl, context, signature?, allSignatures?); private checkSymbolPrivacy(declSymbol, symbol, privacyErrorReporter); private checkTypePrivacyOfSignatures(declSymbol, signatures, privacyErrorReporter); private typeParameterOfTypeDeclarationPrivacyErrorReporter(classOrInterface, typeParameterAST, typeParameter, symbol, context); private baseListPrivacyErrorReporter(classOrInterface, declSymbol, baseAst, isExtendedType, symbol, context); private variablePrivacyErrorReporter(declAST, declSymbol, symbol, context); private checkFunctionTypePrivacy(funcDeclAST, isStatic, typeParameters, parameters, returnTypeAnnotation, block, context); private functionTypeArgumentArgumentTypePrivacyErrorReporter(declAST, isStatic, typeParameterAST, typeParameter, symbol, context); private functionArgumentTypePrivacyErrorReporter(declAST, isStatic, parameters, argIndex, paramSymbol, symbol, context); private functionReturnTypePrivacyErrorReporter(declAST, isStatic, returnTypeAnnotation, block, funcReturnType, symbol, context); private enclosingClassIsDerived(classDecl); private isSuperInvocationExpression(ast); private isSuperInvocationExpressionStatement(node); private getFirstStatementOfBlockOrNull(block); private superCallMustBeFirstStatementInConstructor(constructorDecl); private checkForThisCaptureInArrowFunction(expression); private typeCheckMembersAgainstIndexer(containerType, containerTypeDecl, context); private determineRelevantIndexerForMember(member, numberIndexSignature, stringIndexSignature); private reportErrorThatMemberIsNotSubtypeOfIndexer(member, indexSignature, astForError, context, comparisonInfo); private typeCheckIfTypeMemberPropertyOkToOverride(typeSymbol, extendedType, typeMember, extendedTypeMember, enclosingDecl, comparisonInfo); private typeCheckIfTypeExtendsType(classOrInterface, name, typeSymbol, extendedType, enclosingDecl, context); private typeCheckIfClassImplementsType(classDecl, classSymbol, implementedType, enclosingDecl, context); private computeValueSymbolFromAST(valueDeclAST, context); private hasClassTypeSymbolConflictAsValue(baseDeclAST, typeSymbol, enclosingDecl, context); private typeCheckBase(classOrInterface, name, typeSymbol, baseDeclAST, isExtendedType, enclosingDecl, context); private typeCheckBases(classOrInterface, name, heritageClauses, typeSymbol, enclosingDecl, context); private checkTypeCompatibilityBetweenBases(name, typeSymbol, context); private checkNamedPropertyIdentityBetweenBases(interfaceName, interfaceSymbol, baseTypeSymbol, inheritedMembersMap, context); private checkIndexSignatureIdentityBetweenBases(interfaceName, interfaceSymbol, baseTypeSymbol, allInheritedSignatures, derivedTypeHasOwnNumberSignature, derivedTypeHasOwnStringSignature, context); private checkInheritedMembersAgainstInheritedIndexSignatures(interfaceName, interfaceSymbol, inheritedIndexSignatures, inheritedMembers, context); private checkThatInheritedNumberSignatureIsSubtypeOfInheritedStringSignature(interfaceName, interfaceSymbol, inheritedIndexSignatures, context); private checkAssignability(ast, source, target, context); private isReference(ast, astSymbol); private checkForSuperMemberAccess(expression, name, resolvedName, context); private getEnclosingDeclForAST(ast); private getEnclosingSymbolForAST(ast); private checkForPrivateMemberAccess(name, expressionType, resolvedName, context); public instantiateType(type: PullTypeSymbol, typeParameterArgumentMap: TypeArgumentMap): PullTypeSymbol; public instantiateTypeParameter(typeParameter: PullTypeParameterSymbol, typeParameterArgumentMap: TypeArgumentMap): PullTypeParameterSymbol; public instantiateSignature(signature: PullSignatureSymbol, typeParameterArgumentMap: TypeArgumentMap): PullSignatureSymbol; } class TypeComparisonInfo { public onlyCaptureFirstError: boolean; public flags: TypeRelationshipFlags; public message: string; public stringConstantVal: AST; private indent; constructor(sourceComparisonInfo?: TypeComparisonInfo, useSameIndent?: boolean); private indentString(); public addMessage(message: string): void; } function getPropertyAssignmentNameTextFromIdentifier(identifier: AST): { actualText: string; memberName: string; }; function isTypesOnlyLocation(ast: AST): boolean; } declare module TypeScript { var declCacheHit: number; var declCacheMiss: number; var symbolCacheHit: number; var symbolCacheMiss: number; class SemanticInfoChain { private compiler; private logger; private documents; private fileNameToDocument; public anyTypeDecl: PullDecl; public booleanTypeDecl: PullDecl; public numberTypeDecl: PullDecl; public stringTypeDecl: PullDecl; public nullTypeDecl: PullDecl; public undefinedTypeDecl: PullDecl; public voidTypeDecl: PullDecl; public undefinedValueDecl: PullDecl; public anyTypeSymbol: PullPrimitiveTypeSymbol; public booleanTypeSymbol: PullPrimitiveTypeSymbol; public numberTypeSymbol: PullPrimitiveTypeSymbol; public stringTypeSymbol: PullPrimitiveTypeSymbol; public nullTypeSymbol: PullPrimitiveTypeSymbol; public undefinedTypeSymbol: PullPrimitiveTypeSymbol; public voidTypeSymbol: PullPrimitiveTypeSymbol; public undefinedValueSymbol: PullSymbol; public emptyTypeSymbol: PullTypeSymbol; private astSymbolMap; private astAliasSymbolMap; private astCallResolutionDataMap; private declSymbolMap; private declSignatureSymbolMap; private declCache; private symbolCache; private fileNameToDiagnostics; private _binder; private _resolver; private _topLevelDecls; private _fileNames; constructor(compiler: TypeScriptCompiler, logger: ILogger); public getDocument(fileName: string): Document; public lineMap(fileName: string): LineMap; public fileNames(): string[]; private bindPrimitiveSymbol(decl, newSymbol); private addPrimitiveTypeSymbol(decl); private addPrimitiveValueSymbol(decl, type); private resetGlobalSymbols(); public addDocument(document: Document): void; public removeDocument(fileName: string): void; private getDeclPathCacheID(declPath, declKind); public findTopLevelSymbol(name: string, kind: PullElementKind, doNotGoPastThisDecl: PullDecl): PullSymbol; private findTopLevelSymbolInDecl(topLevelDecl, name, kind, doNotGoPastThisDecl); public findExternalModule(id: string): PullContainerSymbol; public findAmbientExternalModuleInGlobalContext(id: string): PullContainerSymbol; public findDecls(declPath: string[], declKind: PullElementKind): PullDecl[]; public findDeclsFromPath(declPath: PullDecl[], declKind: PullElementKind): PullDecl[]; public findSymbol(declPath: string[], declType: PullElementKind): PullSymbol; public cacheGlobalSymbol(symbol: PullSymbol, kind: PullElementKind): void; public invalidate(oldSettings?: ImmutableCompilationSettings, newSettings?: ImmutableCompilationSettings): void; private settingsChangeAffectsSyntax(before, after); public setSymbolForAST(ast: AST, symbol: PullSymbol): void; public getSymbolForAST(ast: AST): PullSymbol; public setAliasSymbolForAST(ast: AST, symbol: PullTypeAliasSymbol): void; public getAliasSymbolForAST(ast: AST): PullTypeAliasSymbol; public getCallResolutionDataForAST(ast: AST): PullAdditionalCallResolutionData; public setCallResolutionDataForAST(ast: AST, callResolutionData: PullAdditionalCallResolutionData): void; public setSymbolForDecl(decl: PullDecl, symbol: PullSymbol): void; public getSymbolForDecl(decl: PullDecl): PullSymbol; public setSignatureSymbolForDecl(decl: PullDecl, signatureSymbol: PullSignatureSymbol): void; public getSignatureSymbolForDecl(decl: PullDecl): PullSignatureSymbol; public addDiagnostic(diagnostic: Diagnostic): void; public getDiagnostics(fileName: string): Diagnostic[]; public getBinder(): PullSymbolBinder; public getResolver(): PullTypeResolver; public addSyntheticIndexSignature(containingDecl: PullDecl, containingSymbol: PullTypeSymbol, ast: AST, indexParamName: string, indexParamType: PullTypeSymbol, returnType: PullTypeSymbol): void; public getDeclForAST(ast: AST): PullDecl; public getEnclosingDecl(ast: AST): PullDecl; public setDeclForAST(ast: AST, decl: PullDecl): void; public getASTForDecl(decl: PullDecl): AST; public setASTForDecl(decl: PullDecl, ast: AST): void; public topLevelDecl(fileName: string): PullDecl; public topLevelDecls(): PullDecl[]; public addDiagnosticFromAST(ast: AST, diagnosticKey: string, _arguments?: any[], additionalLocations?: Location[]): void; public diagnosticFromAST(ast: AST, diagnosticKey: string, _arguments?: any[], additionalLocations?: Location[]): Diagnostic; public locationFromAST(ast: AST): Location; public duplicateIdentifierDiagnosticFromAST(ast: AST, identifier: string, additionalLocationAST: AST): Diagnostic; public addDuplicateIdentifierDiagnosticFromAST(ast: AST, identifier: string, additionalLocationAST: AST): void; } } declare module TypeScript { module DeclarationCreator { function create(document: Document, semanticInfoChain: SemanticInfoChain, compilationSettings: ImmutableCompilationSettings): PullDecl; } } declare module TypeScript { class PullSymbolBinder { private semanticInfoChain; private declsBeingBound; private inBindingOtherDeclsWalker; constructor(semanticInfoChain: SemanticInfoChain); private getParent(decl, returnInstanceType?); private findDeclsInContext(startingDecl, declKind, searchGlobally); private getExistingSymbol(decl, searchKind, parent); private checkThatExportsMatch(decl, prevSymbol, reportError?); private getIndexForInsertingSignatureAtEndOfEnclosingDeclInSignatureList(signature, currentSignatures); private bindEnumDeclarationToPullSymbol(enumContainerDecl); private bindEnumIndexerDeclsToPullSymbols(enumContainerSymbol); private findExistingVariableSymbolForModuleValueDecl(decl); private bindModuleDeclarationToPullSymbol(moduleContainerDecl); private bindImportDeclaration(importDeclaration); private ensurePriorDeclarationsAreBound(container, currentDecl); private bindClassDeclarationToPullSymbol(classDecl); private bindInterfaceDeclarationToPullSymbol(interfaceDecl); private bindObjectTypeDeclarationToPullSymbol(objectDecl); private bindConstructorTypeDeclarationToPullSymbol(constructorTypeDeclaration); private bindVariableDeclarationToPullSymbol(variableDeclaration); private bindCatchVariableToPullSymbol(variableDeclaration); private bindEnumMemberDeclarationToPullSymbol(propertyDeclaration); private bindPropertyDeclarationToPullSymbol(propertyDeclaration); private bindParameterSymbols(functionDeclaration, parameterList, funcType, signatureSymbol); private bindFunctionDeclarationToPullSymbol(functionDeclaration); private bindFunctionExpressionToPullSymbol(functionExpressionDeclaration); private bindFunctionTypeDeclarationToPullSymbol(functionTypeDeclaration); private bindMethodDeclarationToPullSymbol(methodDeclaration); private bindStaticPrototypePropertyOfClass(classAST, classTypeSymbol, constructorTypeSymbol); private bindConstructorDeclarationToPullSymbol(constructorDeclaration); private bindConstructSignatureDeclarationToPullSymbol(constructSignatureDeclaration); private bindCallSignatureDeclarationToPullSymbol(callSignatureDeclaration); private bindIndexSignatureDeclarationToPullSymbol(indexSignatureDeclaration); private bindGetAccessorDeclarationToPullSymbol(getAccessorDeclaration); private bindSetAccessorDeclarationToPullSymbol(setAccessorDeclaration); private getDeclsToBind(decl); private shouldBindDeclaration(decl); public bindDeclToPullSymbol(decl: PullDecl): void; private bindAllDeclsToPullSymbol(askedDecl); private bindSingleDeclToPullSymbol(decl); } } declare module TypeScript { module PullHelpers { function diagnosticFromDecl(decl: PullDecl, diagnosticKey: string, _arguments?: any[], additionalLocations?: Location[]): Diagnostic; function resolveDeclaredSymbolToUseType(symbol: PullSymbol): void; interface SignatureInfoForFuncDecl { signature: PullSignatureSymbol; allSignatures: PullSignatureSymbol[]; } function getSignatureForFuncDecl(functionDecl: PullDecl): { signature: PullSignatureSymbol; allSignatures: PullSignatureSymbol[]; }; function getAccessorSymbol(getterOrSetter: AST, semanticInfoChain: SemanticInfoChain): PullAccessorSymbol; function getGetterAndSetterFunction(funcDecl: AST, semanticInfoChain: SemanticInfoChain): { getter: GetAccessor; setter: SetAccessor; }; function symbolIsEnum(source: PullSymbol): boolean; function symbolIsModule(symbol: PullSymbol): boolean; function isNameNumeric(name: string): boolean; function typeSymbolsAreIdentical(a: PullTypeSymbol, b: PullTypeSymbol): boolean; function getRootType(type: PullTypeSymbol): PullTypeSymbol; function isSymbolLocal(symbol: PullSymbol): boolean; function isExportedSymbolInClodule(symbol: PullSymbol): boolean; function isSymbolDeclaredInScopeChain(symbol: PullSymbol, scopeSymbol: PullSymbol): boolean; interface PullTypeSymbolStructureWalker { memberSymbolWalk(memberSymbol: PullSymbol): boolean; callSignatureWalk(signatureSymbol: PullSignatureSymbol): boolean; constructSignatureWalk(signatureSymbol: PullSignatureSymbol): boolean; indexSignatureWalk(signatureSymbol: PullSignatureSymbol): boolean; signatureParameterWalk(parameterSymbol: PullSymbol): boolean; signatureReturnTypeWalk(returnType: PullTypeSymbol): boolean; } function walkPullTypeSymbolStructure(typeSymbol: PullTypeSymbol, walker: PullTypeSymbolStructureWalker): void; class OtherPullDeclsWalker { private currentlyWalkingOtherDecls; public walkOtherPullDecls(currentDecl: PullDecl, otherDecls: PullDecl[], callBack: (otherDecl: PullDecl) => void): void; } } } declare module TypeScript { class WrapsTypeParameterCache { private _wrapsTypeParameterCache; public getWrapsTypeParameter(typeParameterArgumentMap: TypeArgumentMap): number; public setWrapsTypeParameter(typeParameterArgumentMap: TypeArgumentMap, wrappingTypeParameterID: number): void; } module PullInstantiationHelpers { class MutableTypeArgumentMap { public typeParameterArgumentMap: TypeArgumentMap; public createdDuplicateTypeArgumentMap: boolean; constructor(typeParameterArgumentMap: TypeArgumentMap); public ensureTypeArgumentCopy(): void; } function instantiateTypeArgument(resolver: PullTypeResolver, symbol: InstantiableSymbol, mutableTypeParameterMap: MutableTypeArgumentMap): void; function cleanUpTypeArgumentMap(symbol: InstantiableSymbol, mutableTypeArgumentMap: MutableTypeArgumentMap): void; function getAllowedToReferenceTypeParametersFromDecl(decl: PullDecl): PullTypeParameterSymbol[]; function createTypeParameterArgumentMap(typeParameters: PullTypeParameterSymbol[], typeArguments: PullTypeSymbol[]): TypeArgumentMap; function updateTypeParameterArgumentMap(typeParameters: PullTypeParameterSymbol[], typeArguments: PullTypeSymbol[], typeParameterArgumentMap: TypeArgumentMap): TypeArgumentMap; function updateMutableTypeParameterArgumentMap(typeParameters: PullTypeParameterSymbol[], typeArguments: PullTypeSymbol[], mutableMap: MutableTypeArgumentMap): void; function twoTypesAreInstantiationsOfSameNamedGenericType(type1: PullTypeSymbol, type2: PullTypeSymbol): boolean; } } declare module TypeScript { var fileResolutionTime: number; var fileResolutionIOTime: number; var fileResolutionScanImportsTime: number; var fileResolutionImportFileSearchTime: number; var fileResolutionGetDefaultLibraryTime: number; var sourceCharactersCompiled: number; var syntaxTreeParseTime: number; var syntaxDiagnosticsTime: number; var astTranslationTime: number; var typeCheckTime: number; var compilerResolvePathTime: number; var compilerDirectoryNameTime: number; var compilerDirectoryExistsTime: number; var compilerFileExistsTime: number; var emitTime: number; var emitWriteFileTime: number; var declarationEmitTime: number; var declarationEmitIsExternallyVisibleTime: number; var declarationEmitTypeSignatureTime: number; var declarationEmitGetBoundDeclTypeTime: number; var declarationEmitIsOverloadedCallSignatureTime: number; var declarationEmitFunctionDeclarationGetSymbolTime: number; var declarationEmitGetBaseTypeTime: number; var declarationEmitGetAccessorFunctionTime: number; var declarationEmitGetTypeParameterSymbolTime: number; var declarationEmitGetImportDeclarationSymbolTime: number; var ioHostResolvePathTime: number; var ioHostDirectoryNameTime: number; var ioHostCreateDirectoryStructureTime: number; var ioHostWriteFileTime: number; interface PullSymbolInfo { symbol: PullSymbol; aliasSymbol: PullTypeAliasSymbol; ast: AST; enclosingScopeSymbol: PullSymbol; } interface PullCallSymbolInfo { targetSymbol: PullSymbol; resolvedSignatures: PullSignatureSymbol[]; candidateSignature: PullSignatureSymbol; isConstructorCall: boolean; ast: AST; enclosingScopeSymbol: PullSymbol; } interface PullVisibleSymbolsInfo { symbols: PullSymbol[]; enclosingScopeSymbol: PullSymbol; } enum EmitOutputResult { Succeeded = 0, FailedBecauseOfSyntaxErrors = 1, FailedBecauseOfCompilerOptionsErrors = 2, FailedToGenerateDeclarationsBecauseOfSemanticErrors = 3, } class EmitOutput { public outputFiles: OutputFile[]; public emitOutputResult: EmitOutputResult; constructor(emitOutputResult?: EmitOutputResult); } enum OutputFileType { JavaScript = 0, SourceMap = 1, Declaration = 2, } class OutputFile { public name: string; public writeByteOrderMark: boolean; public text: string; public fileType: OutputFileType; public sourceMapEntries: SourceMapEntry[]; constructor(name: string, writeByteOrderMark: boolean, text: string, fileType: OutputFileType, sourceMapEntries?: SourceMapEntry[]); } class CompileResult { public diagnostics: Diagnostic[]; public outputFiles: OutputFile[]; static fromDiagnostics(diagnostics: Diagnostic[]): CompileResult; static fromOutputFiles(outputFiles: OutputFile[]): CompileResult; } class TypeScriptCompiler { public logger: ILogger; private _settings; private semanticInfoChain; constructor(logger?: ILogger, _settings?: ImmutableCompilationSettings); public compilationSettings(): ImmutableCompilationSettings; public setCompilationSettings(newSettings: ImmutableCompilationSettings): void; public getDocument(fileName: string): Document; public cleanupSemanticCache(): void; public addFile(fileName: string, scriptSnapshot: IScriptSnapshot, byteOrderMark: ByteOrderMark, version: number, isOpen: boolean, referencedFiles?: string[]): void; public updateFile(fileName: string, scriptSnapshot: IScriptSnapshot, version: number, isOpen: boolean, textChangeRange: TextChangeRange): void; public removeFile(fileName: string): void; public mapOutputFileName(document: Document, emitOptions: EmitOptions, extensionChanger: (fname: string, wholeFileNameReplaced: boolean) => string): string; private writeByteOrderMarkForDocument(document); static mapToDTSFileName(fileName: string, wholeFileNameReplaced: boolean): string; public _shouldEmit(document: Document): boolean; public _shouldEmitDeclarations(document: Document): boolean; private emitDocumentDeclarationsWorker(document, emitOptions, declarationEmitter?); public _emitDocumentDeclarations(document: Document, emitOptions: EmitOptions, onSingleFileEmitComplete: (files: OutputFile) => void, sharedEmitter: DeclarationEmitter): DeclarationEmitter; public emitAllDeclarations(resolvePath: (path: string) => string): EmitOutput; public emitDeclarations(fileName: string, resolvePath: (path: string) => string): EmitOutput; public canEmitDeclarations(fileName: string): boolean; static mapToFileNameExtension(extension: string, fileName: string, wholeFileNameReplaced: boolean): string; static mapToJSFileName(fileName: string, wholeFileNameReplaced: boolean): string; private emitDocumentWorker(document, emitOptions, emitter?); public _emitDocument(document: Document, emitOptions: EmitOptions, onSingleFileEmitComplete: (files: OutputFile[]) => void, sharedEmitter: Emitter): Emitter; public emitAll(resolvePath: (path: string) => string): EmitOutput; public emit(fileName: string, resolvePath: (path: string) => string): EmitOutput; public compile(resolvePath: (path: string) => string, continueOnDiagnostics?: boolean): Iterator; public getSyntacticDiagnostics(fileName: string): Diagnostic[]; private getSyntaxTree(fileName); private getSourceUnit(fileName); public getSemanticDiagnostics(fileName: string): Diagnostic[]; public getCompilerOptionsDiagnostics(resolvePath: (path: string) => string): Diagnostic[]; public resolveAllFiles(): void; public getSymbolOfDeclaration(decl: PullDecl): PullSymbol; private extractResolutionContextFromAST(resolver, ast, document, propagateContextualTypes); private extractResolutionContextForVariable(inContextuallyTypedAssignment, propagateContextualTypes, resolver, resolutionContext, enclosingDecl, assigningAST, init); private getASTPath(ast); public pullGetSymbolInformationFromAST(ast: AST, document: Document): PullSymbolInfo; public pullGetCallInformationFromAST(ast: AST, document: Document): PullCallSymbolInfo; public pullGetVisibleMemberSymbolsFromAST(ast: AST, document: Document): PullVisibleSymbolsInfo; public pullGetVisibleDeclsFromAST(ast: AST, document: Document): PullDecl[]; public pullGetContextualMembersFromAST(ast: AST, document: Document): PullVisibleSymbolsInfo; public pullGetDeclInformation(decl: PullDecl, ast: AST, document: Document): PullSymbolInfo; public topLevelDeclaration(fileName: string): PullDecl; public getDeclForAST(ast: AST): PullDecl; public fileNames(): string[]; public topLevelDecl(fileName: string): PullDecl; private static getLocationText(location, resolvePath); static getFullDiagnosticText(diagnostic: Diagnostic, resolvePath: (path: string) => string): string; } function compareDataObjects(dst: any, src: any): boolean; } declare module TypeScript { enum GenerativeTypeClassification { Unknown = 0, Open = 1, Closed = 2, InfinitelyExpanding = 3, } interface TypeArgumentMap { [n: number]: PullTypeSymbol; } class PullTypeReferenceSymbol extends PullTypeSymbol { public referencedTypeSymbol: PullTypeSymbol; static createTypeReference(type: PullTypeSymbol): PullTypeReferenceSymbol; constructor(referencedTypeSymbol: PullTypeSymbol); public isTypeReference(): boolean; public isResolved: boolean; public setResolved(): void; public setUnresolved(): void; public invalidate(): void; public ensureReferencedTypeIsResolved(): void; public getReferencedTypeSymbol(): PullTypeSymbol; public _getResolver(): PullTypeResolver; public hasMembers(): boolean; public setAssociatedContainerType(type: PullTypeSymbol): void; public getAssociatedContainerType(): PullTypeSymbol; public getFunctionSymbol(): PullSymbol; public setFunctionSymbol(symbol: PullSymbol): void; public addContainedNonMember(nonMember: PullSymbol): void; public findContainedNonMemberContainer(containerName: string, kind?: PullElementKind): PullTypeSymbol; public addMember(memberSymbol: PullSymbol): void; public addEnclosedMemberType(enclosedType: PullTypeSymbol): void; public addEnclosedMemberContainer(enclosedContainer: PullTypeSymbol): void; public addEnclosedNonMember(enclosedNonMember: PullSymbol): void; public addEnclosedNonMemberType(enclosedNonMemberType: PullTypeSymbol): void; public addEnclosedNonMemberContainer(enclosedNonMemberContainer: PullTypeSymbol): void; public addTypeParameter(typeParameter: PullTypeParameterSymbol): void; public addConstructorTypeParameter(typeParameter: PullTypeParameterSymbol): void; public findContainedNonMember(name: string): PullSymbol; public findContainedNonMemberType(typeName: string, kind?: PullElementKind): PullTypeSymbol; public getMembers(): PullSymbol[]; public setHasDefaultConstructor(hasOne?: boolean): void; public getHasDefaultConstructor(): boolean; public getConstructorMethod(): PullSymbol; public setConstructorMethod(constructorMethod: PullSymbol): void; public getTypeParameters(): PullTypeParameterSymbol[]; public isGeneric(): boolean; public addSpecialization(specializedVersionOfThisType: PullTypeSymbol, substitutingTypes: PullTypeSymbol[]): void; public getSpecialization(substitutingTypes: PullTypeSymbol[]): PullTypeSymbol; public getKnownSpecializations(): PullTypeSymbol[]; public getTypeArguments(): PullTypeSymbol[]; public getTypeArgumentsOrTypeParameters(): PullTypeSymbol[]; public appendCallSignature(callSignature: PullSignatureSymbol): void; public insertCallSignatureAtIndex(callSignature: PullSignatureSymbol, index: number): void; public appendConstructSignature(callSignature: PullSignatureSymbol): void; public insertConstructSignatureAtIndex(callSignature: PullSignatureSymbol, index: number): void; public addIndexSignature(indexSignature: PullSignatureSymbol): void; public hasOwnCallSignatures(): boolean; public getCallSignatures(): PullSignatureSymbol[]; public hasOwnConstructSignatures(): boolean; public getConstructSignatures(): PullSignatureSymbol[]; public hasOwnIndexSignatures(): boolean; public getIndexSignatures(): PullSignatureSymbol[]; public addImplementedType(implementedType: PullTypeSymbol): void; public getImplementedTypes(): PullTypeSymbol[]; public addExtendedType(extendedType: PullTypeSymbol): void; public getExtendedTypes(): PullTypeSymbol[]; public addTypeThatExtendsThisType(type: PullTypeSymbol): void; public getTypesThatExtendThisType(): PullTypeSymbol[]; public addTypeThatExplicitlyImplementsThisType(type: PullTypeSymbol): void; public getTypesThatExplicitlyImplementThisType(): PullTypeSymbol[]; public isValidBaseKind(baseType: PullTypeSymbol, isExtendedType: boolean): boolean; public findMember(name: string, lookInParent?: boolean): PullSymbol; public findNestedType(name: string, kind?: PullElementKind): PullTypeSymbol; public findNestedContainer(name: string, kind?: PullElementKind): PullTypeSymbol; public getAllMembers(searchDeclKind: PullElementKind, memberVisiblity: GetAllMembersVisiblity): PullSymbol[]; public findTypeParameter(name: string): PullTypeParameterSymbol; public hasOnlyOverloadCallSignatures(): boolean; } var nSpecializationsCreated: number; var nSpecializedSignaturesCreated: number; var nSpecializedTypeParameterCreated: number; class PullInstantiatedTypeReferenceSymbol extends PullTypeReferenceSymbol { public referencedTypeSymbol: PullTypeSymbol; private _typeParameterArgumentMap; public isInstanceReferenceType: boolean; private _instantiatedMembers; private _allInstantiatedMemberNameCache; private _instantiatedMemberNameCache; private _instantiatedCallSignatures; private _instantiatedConstructSignatures; private _instantiatedIndexSignatures; private _typeArgumentReferences; private _instantiatedConstructorMethod; private _instantiatedAssociatedContainerType; private _isArray; public getIsSpecialized(): boolean; private _generativeTypeClassification; public getGenerativeTypeClassification(enclosingType: PullTypeSymbol): GenerativeTypeClassification; public isArrayNamedTypeReference(): boolean; public getElementType(): PullTypeSymbol; public getReferencedTypeSymbol(): PullTypeSymbol; static create(resolver: PullTypeResolver, type: PullTypeSymbol, typeParameterArgumentMap: TypeArgumentMap): PullInstantiatedTypeReferenceSymbol; constructor(referencedTypeSymbol: PullTypeSymbol, _typeParameterArgumentMap: TypeArgumentMap, isInstanceReferenceType: boolean); public isGeneric(): boolean; public getTypeParameterArgumentMap(): TypeArgumentMap; public getTypeArguments(): PullTypeSymbol[]; public getTypeArgumentsOrTypeParameters(): PullTypeSymbol[]; private populateInstantiatedMemberFromReferencedMember(referencedMember); public getMembers(): PullSymbol[]; public findMember(name: string, lookInParent?: boolean): PullSymbol; public getAllMembers(searchDeclKind: PullElementKind, memberVisiblity: GetAllMembersVisiblity): PullSymbol[]; public getConstructorMethod(): PullSymbol; public getAssociatedContainerType(): PullTypeSymbol; public getCallSignatures(): PullSignatureSymbol[]; public getConstructSignatures(): PullSignatureSymbol[]; public getIndexSignatures(): PullSignatureSymbol[]; } class PullInstantiatedSignatureSymbol extends PullSignatureSymbol { private _typeParameterArgumentMap; public getTypeParameterArgumentMap(): TypeArgumentMap; constructor(rootSignature: PullSignatureSymbol, _typeParameterArgumentMap: TypeArgumentMap); public getIsSpecialized(): boolean; public _getResolver(): PullTypeResolver; public getTypeParameters(): PullTypeParameterSymbol[]; public getAllowedToReferenceTypeParameters(): PullTypeParameterSymbol[]; } class PullInstantiatedTypeParameterSymbol extends PullTypeParameterSymbol { constructor(rootTypeParameter: PullTypeSymbol, constraintType: PullTypeSymbol); public _getResolver(): PullTypeResolver; } } declare module TypeScript { class SyntaxTreeToAstVisitor implements ISyntaxVisitor { private fileName; public lineMap: LineMap; private compilationSettings; public position: number; public previousTokenTrailingComments: Comment[]; constructor(fileName: string, lineMap: LineMap, compilationSettings: ImmutableCompilationSettings); static visit(syntaxTree: SyntaxTree, fileName: string, compilationSettings: ImmutableCompilationSettings, incrementalAST: boolean): SourceUnit; public movePast(element: ISyntaxElement): void; private moveTo(element1, element2); private setCommentsAndSpan(ast, fullStart, node); public createTokenSpan(fullStart: number, element: ISyntaxToken): ASTSpan; public setSpan(span: AST, fullStart: number, element: ISyntaxElement, firstToken?: ISyntaxToken, lastToken?: ISyntaxToken): void; public setSpanExplicit(span: IASTSpan, start: number, end: number): void; public visitSyntaxList(node: ISyntaxList): ISyntaxList2; public visitSeparatedSyntaxList(list: ISeparatedSyntaxList): ISeparatedSyntaxList2; private convertComment(trivia, commentStartPosition, hasTrailingNewLine); private convertComments(triviaList, commentStartPosition); private mergeComments(comments1, comments2); private convertTokenLeadingComments(token, commentStartPosition); private convertTokenTrailingComments(token, commentStartPosition); private convertNodeTrailingComments(node, lastToken, nodeStart); private visitIdentifier(token); public visitToken(token: ISyntaxToken): IASTToken; public visitTokenWorker(token: ISyntaxToken): IASTToken; public visitSourceUnit(node: SourceUnitSyntax): SourceUnit; public visitExternalModuleReference(node: ExternalModuleReferenceSyntax): ExternalModuleReference; public visitModuleNameModuleReference(node: ModuleNameModuleReferenceSyntax): ModuleNameModuleReference; public visitClassDeclaration(node: ClassDeclarationSyntax): ClassDeclaration; private visitModifiers(modifiers); public visitInterfaceDeclaration(node: InterfaceDeclarationSyntax): InterfaceDeclaration; public visitHeritageClause(node: HeritageClauseSyntax): HeritageClause; public visitModuleDeclaration(node: ModuleDeclarationSyntax): ModuleDeclaration; public visitFunctionDeclaration(node: FunctionDeclarationSyntax): FunctionDeclaration; public visitEnumDeclaration(node: EnumDeclarationSyntax): EnumDeclaration; public visitEnumElement(node: EnumElementSyntax): EnumElement; public visitImportDeclaration(node: ImportDeclarationSyntax): ImportDeclaration; public visitExportAssignment(node: ExportAssignmentSyntax): ExportAssignment; public visitVariableStatement(node: VariableStatementSyntax): VariableStatement; public visitVariableDeclaration(node: VariableDeclarationSyntax): VariableDeclaration; public visitVariableDeclarator(node: VariableDeclaratorSyntax): VariableDeclarator; public visitEqualsValueClause(node: EqualsValueClauseSyntax): EqualsValueClause; public visitPrefixUnaryExpression(node: PrefixUnaryExpressionSyntax): PrefixUnaryExpression; public visitArrayLiteralExpression(node: ArrayLiteralExpressionSyntax): ArrayLiteralExpression; public visitOmittedExpression(node: OmittedExpressionSyntax): OmittedExpression; public visitParenthesizedExpression(node: ParenthesizedExpressionSyntax): ParenthesizedExpression; public visitSimpleArrowFunctionExpression(node: SimpleArrowFunctionExpressionSyntax): SimpleArrowFunctionExpression; public visitParenthesizedArrowFunctionExpression(node: ParenthesizedArrowFunctionExpressionSyntax): ParenthesizedArrowFunctionExpression; public visitType(type: ITypeSyntax): AST; public visitTypeQuery(node: TypeQuerySyntax): TypeQuery; public visitQualifiedName(node: QualifiedNameSyntax): QualifiedName; public visitTypeArgumentList(node: TypeArgumentListSyntax): TypeArgumentList; public visitConstructorType(node: ConstructorTypeSyntax): ConstructorType; public visitFunctionType(node: FunctionTypeSyntax): FunctionType; public visitObjectType(node: ObjectTypeSyntax): ObjectType; public visitArrayType(node: ArrayTypeSyntax): ArrayType; public visitGenericType(node: GenericTypeSyntax): GenericType; public visitTypeAnnotation(node: TypeAnnotationSyntax): TypeAnnotation; public visitBlock(node: BlockSyntax): Block; public visitParameter(node: ParameterSyntax): Parameter; public visitMemberAccessExpression(node: MemberAccessExpressionSyntax): MemberAccessExpression; public visitPostfixUnaryExpression(node: PostfixUnaryExpressionSyntax): PostfixUnaryExpression; public visitElementAccessExpression(node: ElementAccessExpressionSyntax): ElementAccessExpression; public visitInvocationExpression(node: InvocationExpressionSyntax): InvocationExpression; public visitArgumentList(node: ArgumentListSyntax): ArgumentList; public visitBinaryExpression(node: BinaryExpressionSyntax): BinaryExpression; public visitConditionalExpression(node: ConditionalExpressionSyntax): ConditionalExpression; public visitConstructSignature(node: ConstructSignatureSyntax): ConstructSignature; public visitMethodSignature(node: MethodSignatureSyntax): MethodSignature; public visitIndexSignature(node: IndexSignatureSyntax): IndexSignature; public visitPropertySignature(node: PropertySignatureSyntax): PropertySignature; public visitParameterList(node: ParameterListSyntax): ParameterList; public visitCallSignature(node: CallSignatureSyntax): CallSignature; public visitTypeParameterList(node: TypeParameterListSyntax): TypeParameterList; public visitTypeParameter(node: TypeParameterSyntax): TypeParameter; public visitConstraint(node: ConstraintSyntax): Constraint; public visitIfStatement(node: IfStatementSyntax): IfStatement; public visitElseClause(node: ElseClauseSyntax): ElseClause; public visitExpressionStatement(node: ExpressionStatementSyntax): ExpressionStatement; public visitConstructorDeclaration(node: ConstructorDeclarationSyntax): ConstructorDeclaration; public visitIndexMemberDeclaration(node: IndexMemberDeclarationSyntax): IndexMemberDeclaration; public visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): MemberFunctionDeclaration; public visitGetAccessor(node: GetAccessorSyntax): GetAccessor; public visitSetAccessor(node: SetAccessorSyntax): SetAccessor; public visitMemberVariableDeclaration(node: MemberVariableDeclarationSyntax): MemberVariableDeclaration; public visitThrowStatement(node: ThrowStatementSyntax): ThrowStatement; public visitReturnStatement(node: ReturnStatementSyntax): ReturnStatement; public visitObjectCreationExpression(node: ObjectCreationExpressionSyntax): ObjectCreationExpression; public visitSwitchStatement(node: SwitchStatementSyntax): SwitchStatement; public visitCaseSwitchClause(node: CaseSwitchClauseSyntax): CaseSwitchClause; public visitDefaultSwitchClause(node: DefaultSwitchClauseSyntax): DefaultSwitchClause; public visitBreakStatement(node: BreakStatementSyntax): BreakStatement; public visitContinueStatement(node: ContinueStatementSyntax): ContinueStatement; public visitForStatement(node: ForStatementSyntax): ForStatement; public visitForInStatement(node: ForInStatementSyntax): ForInStatement; public visitWhileStatement(node: WhileStatementSyntax): WhileStatement; public visitWithStatement(node: WithStatementSyntax): WithStatement; public visitCastExpression(node: CastExpressionSyntax): CastExpression; public visitObjectLiteralExpression(node: ObjectLiteralExpressionSyntax): ObjectLiteralExpression; public visitSimplePropertyAssignment(node: SimplePropertyAssignmentSyntax): SimplePropertyAssignment; public visitFunctionPropertyAssignment(node: FunctionPropertyAssignmentSyntax): FunctionPropertyAssignment; public visitFunctionExpression(node: FunctionExpressionSyntax): FunctionExpression; public visitEmptyStatement(node: EmptyStatementSyntax): EmptyStatement; public visitTryStatement(node: TryStatementSyntax): TryStatement; public visitCatchClause(node: CatchClauseSyntax): CatchClause; public visitFinallyClause(node: FinallyClauseSyntax): FinallyClause; public visitLabeledStatement(node: LabeledStatementSyntax): LabeledStatement; public visitDoStatement(node: DoStatementSyntax): DoStatement; public visitTypeOfExpression(node: TypeOfExpressionSyntax): TypeOfExpression; public visitDeleteExpression(node: DeleteExpressionSyntax): DeleteExpression; public visitVoidExpression(node: VoidExpressionSyntax): VoidExpression; public visitDebuggerStatement(node: DebuggerStatementSyntax): DebuggerStatement; } } declare module TypeScript { interface IASTSpan { _start: number; _end: number; start(): number; end(): number; } class ASTSpan implements IASTSpan { public _start: number; public _end: number; constructor(_start: number, _end: number); public start(): number; public end(): number; } function structuralEqualsNotIncludingPosition(ast1: AST, ast2: AST): boolean; function structuralEqualsIncludingPosition(ast1: AST, ast2: AST): boolean; class AST implements IASTSpan { public parent: AST; public _start: number; public _end: number; public _trailingTriviaWidth: number; private _astID; private _preComments; private _postComments; constructor(); public syntaxID(): number; public start(): number; public end(): number; public trailingTriviaWidth(): number; public fileName(): string; public kind(): SyntaxKind; public preComments(): Comment[]; public postComments(): Comment[]; public setPreComments(comments: Comment[]): void; public setPostComments(comments: Comment[]): void; public width(): number; public structuralEquals(ast: AST, includingPosition: boolean): boolean; public isExpression(): boolean; } interface IASTToken extends AST { text(): string; valueText(): string; } class ISyntaxList2 extends AST { private _fileName; private members; constructor(_fileName: string, members: AST[]); public childCount(): number; public childAt(index: number): AST; public fileName(): string; public kind(): SyntaxKind; public firstOrDefault(func: (v: AST, index: number) => boolean): AST; public lastOrDefault(func: (v: AST, index: number) => boolean): AST; public any(func: (v: AST) => boolean): boolean; public structuralEquals(ast: ISyntaxList2, includingPosition: boolean): boolean; } class ISeparatedSyntaxList2 extends AST { private _fileName; private members; private _separatorCount; constructor(_fileName: string, members: AST[], _separatorCount: number); public nonSeparatorCount(): number; public separatorCount(): number; public nonSeparatorAt(index: number): AST; public nonSeparatorIndexOf(ast: AST): number; public fileName(): string; public kind(): SyntaxKind; public structuralEquals(ast: ISeparatedSyntaxList2, includingPosition: boolean): boolean; } class SourceUnit extends AST { public moduleElements: ISyntaxList2; public endOfFileTokenLeadingComments: Comment[]; private _fileName; constructor(moduleElements: ISyntaxList2, endOfFileTokenLeadingComments: Comment[], _fileName: string); public fileName(): string; public kind(): SyntaxKind; public structuralEquals(ast: SourceUnit, includingPosition: boolean): boolean; } class Identifier extends AST implements IASTToken { private _text; private _valueText; constructor(_text: string); public text(): string; public valueText(): string; public kind(): SyntaxKind; public structuralEquals(ast: Identifier, includingPosition: boolean): boolean; public isExpression(): boolean; } class LiteralExpression extends AST { private _nodeType; private _text; private _valueText; constructor(_nodeType: SyntaxKind, _text: string, _valueText: string); public text(): string; public valueText(): string; public kind(): SyntaxKind; public structuralEquals(ast: ParenthesizedExpression, includingPosition: boolean): boolean; public isExpression(): boolean; } class ThisExpression extends AST implements IASTToken { private _text; private _valueText; constructor(_text: string, _valueText: string); public text(): string; public valueText(): string; public kind(): SyntaxKind; public structuralEquals(ast: ParenthesizedExpression, includingPosition: boolean): boolean; public isExpression(): boolean; } class SuperExpression extends AST implements IASTToken { private _text; private _valueText; constructor(_text: string, _valueText: string); public text(): string; public valueText(): string; public kind(): SyntaxKind; public structuralEquals(ast: ParenthesizedExpression, includingPosition: boolean): boolean; public isExpression(): boolean; } class NumericLiteral extends AST implements IASTToken { private _value; private _text; private _valueText; constructor(_value: number, _text: string, _valueText: string); public text(): string; public valueText(): string; public value(): any; public kind(): SyntaxKind; public structuralEquals(ast: NumericLiteral, includingPosition: boolean): boolean; public isExpression(): boolean; } class RegularExpressionLiteral extends AST implements IASTToken { private _text; private _valueText; constructor(_text: string, _valueText: string); public text(): string; public valueText(): string; public kind(): SyntaxKind; public isExpression(): boolean; } class StringLiteral extends AST implements IASTToken { private _text; private _valueText; constructor(_text: string, _valueText: string); public text(): string; public valueText(): string; public kind(): SyntaxKind; public structuralEquals(ast: StringLiteral, includingPosition: boolean): boolean; public isExpression(): boolean; } class TypeAnnotation extends AST { public type: AST; constructor(type: AST); public kind(): SyntaxKind; } class BuiltInType extends AST implements IASTToken { private _nodeType; private _text; private _valueText; constructor(_nodeType: SyntaxKind, _text: string, _valueText: string); public text(): string; public valueText(): string; public kind(): SyntaxKind; } class ExternalModuleReference extends AST { public stringLiteral: StringLiteral; constructor(stringLiteral: StringLiteral); public kind(): SyntaxKind; } class ModuleNameModuleReference extends AST { public moduleName: AST; constructor(moduleName: AST); public kind(): SyntaxKind; } class ImportDeclaration extends AST { public modifiers: PullElementFlags[]; public identifier: Identifier; public moduleReference: AST; constructor(modifiers: PullElementFlags[], identifier: Identifier, moduleReference: AST); public kind(): SyntaxKind; public structuralEquals(ast: ImportDeclaration, includingPosition: boolean): boolean; } class ExportAssignment extends AST { public identifier: Identifier; constructor(identifier: Identifier); public kind(): SyntaxKind; public structuralEquals(ast: ExportAssignment, includingPosition: boolean): boolean; } class TypeParameterList extends AST { public typeParameters: ISeparatedSyntaxList2; constructor(typeParameters: ISeparatedSyntaxList2); public kind(): SyntaxKind; } class ClassDeclaration extends AST { public modifiers: PullElementFlags[]; public identifier: Identifier; public typeParameterList: TypeParameterList; public heritageClauses: ISyntaxList2; public classElements: ISyntaxList2; public closeBraceToken: ASTSpan; constructor(modifiers: PullElementFlags[], identifier: Identifier, typeParameterList: TypeParameterList, heritageClauses: ISyntaxList2, classElements: ISyntaxList2, closeBraceToken: ASTSpan); public kind(): SyntaxKind; public structuralEquals(ast: ClassDeclaration, includingPosition: boolean): boolean; } class InterfaceDeclaration extends AST { public modifiers: PullElementFlags[]; public identifier: Identifier; public typeParameterList: TypeParameterList; public heritageClauses: ISyntaxList2; public body: ObjectType; constructor(modifiers: PullElementFlags[], identifier: Identifier, typeParameterList: TypeParameterList, heritageClauses: ISyntaxList2, body: ObjectType); public kind(): SyntaxKind; public structuralEquals(ast: InterfaceDeclaration, includingPosition: boolean): boolean; } class HeritageClause extends AST { private _nodeType; public typeNames: ISeparatedSyntaxList2; constructor(_nodeType: SyntaxKind, typeNames: ISeparatedSyntaxList2); public kind(): SyntaxKind; public structuralEquals(ast: HeritageClause, includingPosition: boolean): boolean; } class ModuleDeclaration extends AST { public modifiers: PullElementFlags[]; public name: AST; public stringLiteral: StringLiteral; public moduleElements: ISyntaxList2; public endingToken: ASTSpan; constructor(modifiers: PullElementFlags[], name: AST, stringLiteral: StringLiteral, moduleElements: ISyntaxList2, endingToken: ASTSpan); public kind(): SyntaxKind; public structuralEquals(ast: ModuleDeclaration, includingPosition: boolean): boolean; } class FunctionDeclaration extends AST { public modifiers: PullElementFlags[]; public identifier: Identifier; public callSignature: CallSignature; public block: Block; constructor(modifiers: PullElementFlags[], identifier: Identifier, callSignature: CallSignature, block: Block); public kind(): SyntaxKind; public structuralEquals(ast: FunctionDeclaration, includingPosition: boolean): boolean; } class VariableStatement extends AST { public modifiers: PullElementFlags[]; public declaration: VariableDeclaration; constructor(modifiers: PullElementFlags[], declaration: VariableDeclaration); public kind(): SyntaxKind; public structuralEquals(ast: VariableStatement, includingPosition: boolean): boolean; } class VariableDeclaration extends AST { public declarators: ISeparatedSyntaxList2; constructor(declarators: ISeparatedSyntaxList2); public kind(): SyntaxKind; public structuralEquals(ast: VariableDeclaration, includingPosition: boolean): boolean; } class VariableDeclarator extends AST { public propertyName: IASTToken; public typeAnnotation: TypeAnnotation; public equalsValueClause: EqualsValueClause; constructor(propertyName: IASTToken, typeAnnotation: TypeAnnotation, equalsValueClause: EqualsValueClause); public kind(): SyntaxKind; } class EqualsValueClause extends AST { public value: AST; constructor(value: AST); public kind(): SyntaxKind; } class PrefixUnaryExpression extends AST { private _nodeType; public operand: AST; constructor(_nodeType: SyntaxKind, operand: AST); public kind(): SyntaxKind; public structuralEquals(ast: PrefixUnaryExpression, includingPosition: boolean): boolean; public isExpression(): boolean; } class ArrayLiteralExpression extends AST { public expressions: ISeparatedSyntaxList2; constructor(expressions: ISeparatedSyntaxList2); public kind(): SyntaxKind; public structuralEquals(ast: ArrayLiteralExpression, includingPosition: boolean): boolean; public isExpression(): boolean; } class OmittedExpression extends AST { public kind(): SyntaxKind; public structuralEquals(ast: CatchClause, includingPosition: boolean): boolean; public isExpression(): boolean; } class ParenthesizedExpression extends AST { public openParenTrailingComments: Comment[]; public expression: AST; constructor(openParenTrailingComments: Comment[], expression: AST); public kind(): SyntaxKind; public structuralEquals(ast: ParenthesizedExpression, includingPosition: boolean): boolean; public isExpression(): boolean; } interface ICallExpression extends IASTSpan { expression: AST; argumentList: ArgumentList; } class SimpleArrowFunctionExpression extends AST { public identifier: Identifier; public block: Block; public expression: AST; constructor(identifier: Identifier, block: Block, expression: AST); public kind(): SyntaxKind; public isExpression(): boolean; } class ParenthesizedArrowFunctionExpression extends AST { public callSignature: CallSignature; public block: Block; public expression: AST; constructor(callSignature: CallSignature, block: Block, expression: AST); public kind(): SyntaxKind; public isExpression(): boolean; } class QualifiedName extends AST { public left: AST; public right: Identifier; constructor(left: AST, right: Identifier); public kind(): SyntaxKind; public structuralEquals(ast: QualifiedName, includingPosition: boolean): boolean; } class ParameterList extends AST { public openParenTrailingComments: Comment[]; public parameters: ISeparatedSyntaxList2; constructor(openParenTrailingComments: Comment[], parameters: ISeparatedSyntaxList2); public kind(): SyntaxKind; } class ConstructorType extends AST { public typeParameterList: TypeParameterList; public parameterList: ParameterList; public type: AST; constructor(typeParameterList: TypeParameterList, parameterList: ParameterList, type: AST); public kind(): SyntaxKind; } class FunctionType extends AST { public typeParameterList: TypeParameterList; public parameterList: ParameterList; public type: AST; constructor(typeParameterList: TypeParameterList, parameterList: ParameterList, type: AST); public kind(): SyntaxKind; } class ObjectType extends AST { public typeMembers: ISeparatedSyntaxList2; constructor(typeMembers: ISeparatedSyntaxList2); public kind(): SyntaxKind; public structuralEquals(ast: ObjectType, includingPosition: boolean): boolean; } class ArrayType extends AST { public type: AST; constructor(type: AST); public kind(): SyntaxKind; public structuralEquals(ast: ArrayType, includingPosition: boolean): boolean; } class TypeArgumentList extends AST { public typeArguments: ISeparatedSyntaxList2; constructor(typeArguments: ISeparatedSyntaxList2); public kind(): SyntaxKind; } class GenericType extends AST { public name: AST; public typeArgumentList: TypeArgumentList; constructor(name: AST, typeArgumentList: TypeArgumentList); public kind(): SyntaxKind; public structuralEquals(ast: GenericType, includingPosition: boolean): boolean; } class TypeQuery extends AST { public name: AST; constructor(name: AST); public kind(): SyntaxKind; public structuralEquals(ast: TypeQuery, includingPosition: boolean): boolean; } class Block extends AST { public statements: ISyntaxList2; public closeBraceLeadingComments: Comment[]; public closeBraceToken: IASTSpan; constructor(statements: ISyntaxList2, closeBraceLeadingComments: Comment[], closeBraceToken: IASTSpan); public kind(): SyntaxKind; public structuralEquals(ast: Block, includingPosition: boolean): boolean; } class Parameter extends AST { public dotDotDotToken: ASTSpan; public modifiers: PullElementFlags[]; public identifier: Identifier; public questionToken: ASTSpan; public typeAnnotation: TypeAnnotation; public equalsValueClause: EqualsValueClause; constructor(dotDotDotToken: ASTSpan, modifiers: PullElementFlags[], identifier: Identifier, questionToken: ASTSpan, typeAnnotation: TypeAnnotation, equalsValueClause: EqualsValueClause); public kind(): SyntaxKind; } class MemberAccessExpression extends AST { public expression: AST; public name: Identifier; constructor(expression: AST, name: Identifier); public kind(): SyntaxKind; public structuralEquals(ast: MemberAccessExpression, includingPosition: boolean): boolean; public isExpression(): boolean; } class PostfixUnaryExpression extends AST { private _nodeType; public operand: AST; constructor(_nodeType: SyntaxKind, operand: AST); public kind(): SyntaxKind; public structuralEquals(ast: PostfixUnaryExpression, includingPosition: boolean): boolean; public isExpression(): boolean; } class ElementAccessExpression extends AST { public expression: AST; public argumentExpression: AST; constructor(expression: AST, argumentExpression: AST); public kind(): SyntaxKind; public structuralEquals(ast: ElementAccessExpression, includingPosition: boolean): boolean; public isExpression(): boolean; } class InvocationExpression extends AST implements ICallExpression { public expression: AST; public argumentList: ArgumentList; constructor(expression: AST, argumentList: ArgumentList); public kind(): SyntaxKind; public structuralEquals(ast: InvocationExpression, includingPosition: boolean): boolean; public isExpression(): boolean; } class ArgumentList extends AST { public typeArgumentList: TypeArgumentList; public closeParenToken: ASTSpan; public arguments: ISeparatedSyntaxList2; constructor(typeArgumentList: TypeArgumentList, _arguments: ISeparatedSyntaxList2, closeParenToken: ASTSpan); public kind(): SyntaxKind; } class BinaryExpression extends AST { private _nodeType; public left: AST; public right: AST; constructor(_nodeType: SyntaxKind, left: AST, right: AST); public kind(): SyntaxKind; public structuralEquals(ast: BinaryExpression, includingPosition: boolean): boolean; public isExpression(): boolean; } class ConditionalExpression extends AST { public condition: AST; public whenTrue: AST; public whenFalse: AST; constructor(condition: AST, whenTrue: AST, whenFalse: AST); public kind(): SyntaxKind; public structuralEquals(ast: ConditionalExpression, includingPosition: boolean): boolean; public isExpression(): boolean; } class ConstructSignature extends AST { public callSignature: CallSignature; constructor(callSignature: CallSignature); public kind(): SyntaxKind; } class MethodSignature extends AST { public propertyName: IASTToken; public questionToken: ASTSpan; public callSignature: CallSignature; constructor(propertyName: IASTToken, questionToken: ASTSpan, callSignature: CallSignature); public kind(): SyntaxKind; } class IndexSignature extends AST { public parameter: Parameter; public typeAnnotation: TypeAnnotation; constructor(parameter: Parameter, typeAnnotation: TypeAnnotation); public kind(): SyntaxKind; } class PropertySignature extends AST { public propertyName: IASTToken; public questionToken: ASTSpan; public typeAnnotation: TypeAnnotation; constructor(propertyName: IASTToken, questionToken: ASTSpan, typeAnnotation: TypeAnnotation); public kind(): SyntaxKind; } class CallSignature extends AST { public typeParameterList: TypeParameterList; public parameterList: ParameterList; public typeAnnotation: TypeAnnotation; constructor(typeParameterList: TypeParameterList, parameterList: ParameterList, typeAnnotation: TypeAnnotation); public kind(): SyntaxKind; } class TypeParameter extends AST { public identifier: Identifier; public constraint: Constraint; constructor(identifier: Identifier, constraint: Constraint); public kind(): SyntaxKind; public structuralEquals(ast: TypeParameter, includingPosition: boolean): boolean; } class Constraint extends AST { public type: AST; constructor(type: AST); public kind(): SyntaxKind; } class ElseClause extends AST { public statement: AST; constructor(statement: AST); public kind(): SyntaxKind; public structuralEquals(ast: ElseClause, includingPosition: boolean): boolean; } class IfStatement extends AST { public condition: AST; public statement: AST; public elseClause: ElseClause; constructor(condition: AST, statement: AST, elseClause: ElseClause); public kind(): SyntaxKind; public structuralEquals(ast: IfStatement, includingPosition: boolean): boolean; } class ExpressionStatement extends AST { public expression: AST; constructor(expression: AST); public kind(): SyntaxKind; public structuralEquals(ast: ExpressionStatement, includingPosition: boolean): boolean; } class ConstructorDeclaration extends AST { public callSignature: CallSignature; public block: Block; constructor(callSignature: CallSignature, block: Block); public kind(): SyntaxKind; } class MemberFunctionDeclaration extends AST { public modifiers: PullElementFlags[]; public propertyName: IASTToken; public callSignature: CallSignature; public block: Block; constructor(modifiers: PullElementFlags[], propertyName: IASTToken, callSignature: CallSignature, block: Block); public kind(): SyntaxKind; } class GetAccessor extends AST { public modifiers: PullElementFlags[]; public propertyName: IASTToken; public parameterList: ParameterList; public typeAnnotation: TypeAnnotation; public block: Block; constructor(modifiers: PullElementFlags[], propertyName: IASTToken, parameterList: ParameterList, typeAnnotation: TypeAnnotation, block: Block); public kind(): SyntaxKind; } class SetAccessor extends AST { public modifiers: PullElementFlags[]; public propertyName: IASTToken; public parameterList: ParameterList; public block: Block; constructor(modifiers: PullElementFlags[], propertyName: IASTToken, parameterList: ParameterList, block: Block); public kind(): SyntaxKind; } class MemberVariableDeclaration extends AST { public modifiers: PullElementFlags[]; public variableDeclarator: VariableDeclarator; constructor(modifiers: PullElementFlags[], variableDeclarator: VariableDeclarator); public kind(): SyntaxKind; } class IndexMemberDeclaration extends AST { public indexSignature: IndexSignature; constructor(indexSignature: IndexSignature); public kind(): SyntaxKind; } class ThrowStatement extends AST { public expression: AST; constructor(expression: AST); public kind(): SyntaxKind; public structuralEquals(ast: ThrowStatement, includingPosition: boolean): boolean; } class ReturnStatement extends AST { public expression: AST; constructor(expression: AST); public kind(): SyntaxKind; public structuralEquals(ast: ReturnStatement, includingPosition: boolean): boolean; } class ObjectCreationExpression extends AST implements ICallExpression { public expression: AST; public argumentList: ArgumentList; constructor(expression: AST, argumentList: ArgumentList); public kind(): SyntaxKind; public structuralEquals(ast: ObjectCreationExpression, includingPosition: boolean): boolean; public isExpression(): boolean; } class SwitchStatement extends AST { public expression: AST; public closeParenToken: ASTSpan; public switchClauses: ISyntaxList2; constructor(expression: AST, closeParenToken: ASTSpan, switchClauses: ISyntaxList2); public kind(): SyntaxKind; public structuralEquals(ast: SwitchStatement, includingPosition: boolean): boolean; } class CaseSwitchClause extends AST { public expression: AST; public statements: ISyntaxList2; constructor(expression: AST, statements: ISyntaxList2); public kind(): SyntaxKind; public structuralEquals(ast: CaseSwitchClause, includingPosition: boolean): boolean; } class DefaultSwitchClause extends AST { public statements: ISyntaxList2; constructor(statements: ISyntaxList2); public kind(): SyntaxKind; public structuralEquals(ast: DefaultSwitchClause, includingPosition: boolean): boolean; } class BreakStatement extends AST { public identifier: Identifier; constructor(identifier: Identifier); public kind(): SyntaxKind; public structuralEquals(ast: BreakStatement, includingPosition: boolean): boolean; } class ContinueStatement extends AST { public identifier: Identifier; constructor(identifier: Identifier); public kind(): SyntaxKind; public structuralEquals(ast: ContinueStatement, includingPosition: boolean): boolean; } class ForStatement extends AST { public variableDeclaration: VariableDeclaration; public initializer: AST; public condition: AST; public incrementor: AST; public statement: AST; constructor(variableDeclaration: VariableDeclaration, initializer: AST, condition: AST, incrementor: AST, statement: AST); public kind(): SyntaxKind; public structuralEquals(ast: ForStatement, includingPosition: boolean): boolean; } class ForInStatement extends AST { public variableDeclaration: VariableDeclaration; public left: AST; public expression: AST; public statement: AST; constructor(variableDeclaration: VariableDeclaration, left: AST, expression: AST, statement: AST); public kind(): SyntaxKind; public structuralEquals(ast: ForInStatement, includingPosition: boolean): boolean; } class WhileStatement extends AST { public condition: AST; public statement: AST; constructor(condition: AST, statement: AST); public kind(): SyntaxKind; public structuralEquals(ast: WhileStatement, includingPosition: boolean): boolean; } class WithStatement extends AST { public condition: AST; public statement: AST; constructor(condition: AST, statement: AST); public kind(): SyntaxKind; public structuralEquals(ast: WithStatement, includingPosition: boolean): boolean; } class EnumDeclaration extends AST { public modifiers: PullElementFlags[]; public identifier: Identifier; public enumElements: ISeparatedSyntaxList2; constructor(modifiers: PullElementFlags[], identifier: Identifier, enumElements: ISeparatedSyntaxList2); public kind(): SyntaxKind; } class EnumElement extends AST { public propertyName: IASTToken; public equalsValueClause: EqualsValueClause; constructor(propertyName: IASTToken, equalsValueClause: EqualsValueClause); public kind(): SyntaxKind; } class CastExpression extends AST { public type: AST; public expression: AST; constructor(type: AST, expression: AST); public kind(): SyntaxKind; public structuralEquals(ast: CastExpression, includingPosition: boolean): boolean; public isExpression(): boolean; } class ObjectLiteralExpression extends AST { public propertyAssignments: ISeparatedSyntaxList2; constructor(propertyAssignments: ISeparatedSyntaxList2); public kind(): SyntaxKind; public structuralEquals(ast: ObjectLiteralExpression, includingPosition: boolean): boolean; public isExpression(): boolean; } class SimplePropertyAssignment extends AST { public propertyName: Identifier; public expression: AST; constructor(propertyName: Identifier, expression: AST); public kind(): SyntaxKind; } class FunctionPropertyAssignment extends AST { public propertyName: Identifier; public callSignature: CallSignature; public block: Block; constructor(propertyName: Identifier, callSignature: CallSignature, block: Block); public kind(): SyntaxKind; } class FunctionExpression extends AST { public identifier: Identifier; public callSignature: CallSignature; public block: Block; constructor(identifier: Identifier, callSignature: CallSignature, block: Block); public kind(): SyntaxKind; public isExpression(): boolean; } class EmptyStatement extends AST { public kind(): SyntaxKind; public structuralEquals(ast: CatchClause, includingPosition: boolean): boolean; } class TryStatement extends AST { public block: Block; public catchClause: CatchClause; public finallyClause: FinallyClause; constructor(block: Block, catchClause: CatchClause, finallyClause: FinallyClause); public kind(): SyntaxKind; public structuralEquals(ast: TryStatement, includingPosition: boolean): boolean; } class CatchClause extends AST { public identifier: Identifier; public typeAnnotation: TypeAnnotation; public block: Block; constructor(identifier: Identifier, typeAnnotation: TypeAnnotation, block: Block); public kind(): SyntaxKind; public structuralEquals(ast: CatchClause, includingPosition: boolean): boolean; } class FinallyClause extends AST { public block: Block; constructor(block: Block); public kind(): SyntaxKind; public structuralEquals(ast: CatchClause, includingPosition: boolean): boolean; } class LabeledStatement extends AST { public identifier: Identifier; public statement: AST; constructor(identifier: Identifier, statement: AST); public kind(): SyntaxKind; public structuralEquals(ast: LabeledStatement, includingPosition: boolean): boolean; } class DoStatement extends AST { public statement: AST; public whileKeyword: ASTSpan; public condition: AST; constructor(statement: AST, whileKeyword: ASTSpan, condition: AST); public kind(): SyntaxKind; public structuralEquals(ast: DoStatement, includingPosition: boolean): boolean; } class TypeOfExpression extends AST { public expression: AST; constructor(expression: AST); public kind(): SyntaxKind; public structuralEquals(ast: TypeOfExpression, includingPosition: boolean): boolean; public isExpression(): boolean; } class DeleteExpression extends AST { public expression: AST; constructor(expression: AST); public kind(): SyntaxKind; public structuralEquals(ast: DeleteExpression, includingPosition: boolean): boolean; public isExpression(): boolean; } class VoidExpression extends AST { public expression: AST; constructor(expression: AST); public kind(): SyntaxKind; public structuralEquals(ast: VoidExpression, includingPosition: boolean): boolean; public isExpression(): boolean; } class DebuggerStatement extends AST { public kind(): SyntaxKind; } class Comment { private _trivia; public endsLine: boolean; public _start: number; public _end: number; constructor(_trivia: ISyntaxTrivia, endsLine: boolean, _start: number, _end: number); public start(): number; public end(): number; public fullText(): string; public kind(): SyntaxKind; public structuralEquals(ast: Comment, includingPosition: boolean): boolean; } } declare module TypeScript.Services { enum EndOfLineState { Start = 0, InMultiLineCommentTrivia = 1, InSingleQuoteStringLiteral = 2, InDoubleQuoteStringLiteral = 3, } enum TokenClass { Punctuation = 0, Keyword = 1, Operator = 2, Comment = 3, Whitespace = 4, Identifier = 5, NumberLiteral = 6, StringLiteral = 7, RegExpLiteral = 8, } class Classifier { public host: IClassifierHost; private scanner; private characterWindow; private diagnostics; constructor(host: IClassifierHost); public getClassificationsForLine(text: string, lexState: EndOfLineState): ClassificationResult; private processToken(text, offset, token, result); private processTriviaList(text, offset, triviaList, result); private addResult(text, offset, result, length, kind); private classFromKind(kind); } interface IClassifierHost extends ILogger { } class ClassificationResult { public finalLexState: EndOfLineState; public entries: ClassificationInfo[]; constructor(); } class ClassificationInfo { public length: number; public classification: TokenClass; constructor(length: number, classification: TokenClass); } } declare module TypeScript.Services { interface ILanguageServicesDiagnostics { log(content: string): void; } } declare module TypeScript.Services { interface ILanguageServiceHost extends ILogger, IReferenceResolverHost { getCompilationSettings(): CompilationSettings; getScriptFileNames(): string[]; getScriptVersion(fileName: string): number; getScriptIsOpen(fileName: string): boolean; getScriptByteOrderMark(fileName: string): ByteOrderMark; getScriptSnapshot(fileName: string): IScriptSnapshot; getDiagnosticsObject(): ILanguageServicesDiagnostics; getLocalizedDiagnosticMessages(): any; } interface ILanguageService { refresh(): void; cleanupSemanticCache(): void; getSyntacticDiagnostics(fileName: string): Diagnostic[]; getSemanticDiagnostics(fileName: string): Diagnostic[]; getCompilerOptionsDiagnostics(): Diagnostic[]; getCompletionsAtPosition(fileName: string, position: number, isMemberCompletion: boolean): CompletionInfo; getCompletionEntryDetails(fileName: string, position: number, entryName: string): CompletionEntryDetails; getTypeAtPosition(fileName: string, position: number): TypeInfo; getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): SpanInfo; getBreakpointStatementAtPosition(fileName: string, position: number): SpanInfo; getSignatureAtPosition(fileName: string, position: number): SignatureInfo; getDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[]; getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[]; getOccurrencesAtPosition(fileName: string, position: number): ReferenceEntry[]; getImplementorsAtPosition(fileName: string, position: number): ReferenceEntry[]; getNavigateToItems(searchValue: string): NavigateToItem[]; getScriptLexicalStructure(fileName: string): NavigateToItem[]; getOutliningRegions(fileName: string): TextSpan[]; getBraceMatchingAtPosition(fileName: string, position: number): TextSpan[]; getIndentationAtPosition(fileName: string, position: number, options: EditorOptions): number; getFormattingEditsForRange(fileName: string, minChar: number, limChar: number, options: FormatCodeOptions): TextEdit[]; getFormattingEditsForDocument(fileName: string, minChar: number, limChar: number, options: FormatCodeOptions): TextEdit[]; getFormattingEditsOnPaste(fileName: string, minChar: number, limChar: number, options: FormatCodeOptions): TextEdit[]; getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions): TextEdit[]; getEmitOutput(fileName: string): EmitOutput; getSyntaxTree(fileName: string): SyntaxTree; } function logInternalError(logger: ILogger, err: Error): void; class ReferenceEntry { public fileName: string; public minChar: number; public limChar: number; public isWriteAccess: boolean; constructor(fileName: string, minChar: number, limChar: number, isWriteAccess: boolean); } class NavigateToItem { public name: string; public kind: string; public kindModifiers: string; public matchKind: string; public fileName: string; public minChar: number; public limChar: number; public additionalSpans: SpanInfo[]; public containerName: string; public containerKind: string; } class TextEdit { public minChar: number; public limChar: number; public text: string; constructor(minChar: number, limChar: number, text: string); static createInsert(pos: number, text: string): TextEdit; static createDelete(minChar: number, limChar: number): TextEdit; static createReplace(minChar: number, limChar: number, text: string): TextEdit; } class EditorOptions { public IndentSize: number; public TabSize: number; public NewLineCharacter: string; public ConvertTabsToSpaces: boolean; static clone(objectToClone: EditorOptions): EditorOptions; } class FormatCodeOptions extends EditorOptions { public InsertSpaceAfterCommaDelimiter: boolean; public InsertSpaceAfterSemicolonInForStatements: boolean; public InsertSpaceBeforeAndAfterBinaryOperators: boolean; public InsertSpaceAfterKeywordsInControlFlowStatements: boolean; public InsertSpaceAfterFunctionKeywordForAnonymousFunctions: boolean; public InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: boolean; public PlaceOpenBraceOnNewLineForFunctions: boolean; public PlaceOpenBraceOnNewLineForControlBlocks: boolean; static clone(objectToClone: FormatCodeOptions): FormatCodeOptions; } class DefinitionInfo { public fileName: string; public minChar: number; public limChar: number; public kind: string; public name: string; public containerKind: string; public containerName: string; constructor(fileName: string, minChar: number, limChar: number, kind: string, name: string, containerKind: string, containerName: string); } class TypeInfo { public memberName: MemberName; public docComment: string; public fullSymbolName: string; public kind: string; public minChar: number; public limChar: number; constructor(memberName: MemberName, docComment: string, fullSymbolName: string, kind: string, minChar: number, limChar: number); } class SpanInfo { public minChar: number; public limChar: number; public text: string; constructor(minChar: number, limChar: number, text?: string); } class SignatureInfo { public actual: ActualSignatureInfo; public formal: FormalSignatureItemInfo[]; public activeFormal: number; } class FormalSignatureItemInfo { public signatureInfo: string; public typeParameters: FormalTypeParameterInfo[]; public parameters: FormalParameterInfo[]; public docComment: string; } class FormalTypeParameterInfo { public name: string; public docComment: string; public minChar: number; public limChar: number; } class FormalParameterInfo { public name: string; public isVariable: boolean; public docComment: string; public minChar: number; public limChar: number; } class ActualSignatureInfo { public parameterMinChar: number; public parameterLimChar: number; public currentParameterIsTypeParameter: boolean; public currentParameter: number; } class CompletionInfo { public maybeInaccurate: boolean; public isMemberCompletion: boolean; public entries: CompletionEntry[]; } interface CompletionEntry { name: string; kind: string; kindModifiers: string; } interface CompletionEntryDetails { name: string; kind: string; kindModifiers: string; type: string; fullSymbolName: string; docComment: string; } class ScriptElementKind { static unknown: string; static keyword: string; static scriptElement: string; static moduleElement: string; static classElement: string; static interfaceElement: string; static enumElement: string; static variableElement: string; static localVariableElement: string; static functionElement: string; static localFunctionElement: string; static memberFunctionElement: string; static memberGetAccessorElement: string; static memberSetAccessorElement: string; static memberVariableElement: string; static constructorImplementationElement: string; static callSignatureElement: string; static indexSignatureElement: string; static constructSignatureElement: string; static parameterElement: string; static typeParameterElement: string; static primitiveType: string; } class ScriptElementKindModifier { static none: string; static publicMemberModifier: string; static privateMemberModifier: string; static exportedModifier: string; static ambientModifier: string; static staticModifier: string; } class MatchKind { static none: string; static exact: string; static subString: string; static prefix: string; } class DiagnosticCategory { static none: string; static error: string; static warning: string; static message: string; } } declare module TypeScript.Services.Formatting { interface ITextSnapshot { getText(span: TextSpan): string; getLineNumberFromPosition(position: number): number; getLineFromPosition(position: number): ITextSnapshotLine; getLineFromLineNumber(lineNumber: number): ITextSnapshotLine; } class TextSnapshot implements ITextSnapshot { private snapshot; private lines; constructor(snapshot: ISimpleText); public getText(span: TextSpan): string; public getLineNumberFromPosition(position: number): number; public getLineFromPosition(position: number): ITextSnapshotLine; public getLineFromLineNumber(lineNumber: number): ITextSnapshotLine; private getLineFromLineNumberWorker(lineNumber); } } declare module TypeScript.Services.Formatting { interface ITextSnapshotLine { snapshot(): ITextSnapshot; start(): SnapshotPoint; startPosition(): number; end(): SnapshotPoint; endPosition(): number; endIncludingLineBreak(): SnapshotPoint; endIncludingLineBreakPosition(): number; length(): number; lineNumber(): number; getText(): string; } class TextSnapshotLine implements ITextSnapshotLine { private _snapshot; private _lineNumber; private _start; private _end; private _lineBreak; constructor(_snapshot: ITextSnapshot, _lineNumber: number, _start: number, _end: number, _lineBreak: string); public snapshot(): ITextSnapshot; public start(): SnapshotPoint; public startPosition(): number; public end(): SnapshotPoint; public endPosition(): number; public endIncludingLineBreak(): SnapshotPoint; public endIncludingLineBreakPosition(): number; public length(): number; public lineNumber(): number; public getText(): string; } } declare module TypeScript.Services.Formatting { class SnapshotPoint { public snapshot: ITextSnapshot; public position: number; constructor(snapshot: ITextSnapshot, position: number); public getContainingLine(): ITextSnapshotLine; public add(offset: number): SnapshotPoint; } } declare module TypeScript.Services.Formatting { class FormattingContext { private snapshot; public formattingRequestKind: FormattingRequestKind; public currentTokenSpan: TokenSpan; public nextTokenSpan: TokenSpan; public contextNode: IndentationNodeContext; public currentTokenParent: IndentationNodeContext; public nextTokenParent: IndentationNodeContext; private contextNodeAllOnSameLine; private nextNodeAllOnSameLine; private tokensAreOnSameLine; private contextNodeBlockIsOnOneLine; private nextNodeBlockIsOnOneLine; constructor(snapshot: ITextSnapshot, formattingRequestKind: FormattingRequestKind); public updateContext(currentTokenSpan: TokenSpan, currentTokenParent: IndentationNodeContext, nextTokenSpan: TokenSpan, nextTokenParent: IndentationNodeContext, commonParent: IndentationNodeContext): void; public ContextNodeAllOnSameLine(): boolean; public NextNodeAllOnSameLine(): boolean; public TokensAreOnSameLine(): boolean; public ContextNodeBlockIsOnOneLine(): boolean; public NextNodeBlockIsOnOneLine(): boolean; public NodeIsOnOneLine(node: IndentationNodeContext): boolean; public BlockIsOnOneLine(node: IndentationNodeContext): boolean; } } declare module TypeScript.Services.Formatting { class FormattingManager { private syntaxTree; private snapshot; private rulesProvider; private options; constructor(syntaxTree: SyntaxTree, snapshot: ITextSnapshot, rulesProvider: RulesProvider, editorOptions: EditorOptions); public formatSelection(minChar: number, limChar: number): TextEdit[]; public formatDocument(minChar: number, limChar: number): TextEdit[]; public formatOnPaste(minChar: number, limChar: number): TextEdit[]; public formatOnSemicolon(caretPosition: number): TextEdit[]; public formatOnClosingCurlyBrace(caretPosition: number): TextEdit[]; public formatOnEnter(caretPosition: number): TextEdit[]; private formatSpan(span, formattingRequestKind); } } declare module TypeScript.Services.Formatting { enum FormattingRequestKind { FormatDocument = 0, FormatSelection = 1, FormatOnEnter = 2, FormatOnSemicolon = 3, FormatOnClosingCurlyBrace = 4, FormatOnPaste = 5, } } declare module TypeScript.Services.Formatting { class Rule { public Descriptor: RuleDescriptor; public Operation: RuleOperation; public Flag: RuleFlags; constructor(Descriptor: RuleDescriptor, Operation: RuleOperation, Flag?: RuleFlags); public toString(): string; } } declare module TypeScript.Services.Formatting { enum RuleAction { Ignore = 0, Space = 1, NewLine = 2, Delete = 3, } } declare module TypeScript.Services.Formatting { class RuleDescriptor { public LeftTokenRange: Shared.TokenRange; public RightTokenRange: Shared.TokenRange; constructor(LeftTokenRange: Shared.TokenRange, RightTokenRange: Shared.TokenRange); public toString(): string; static create1(left: SyntaxKind, right: SyntaxKind): RuleDescriptor; static create2(left: Shared.TokenRange, right: SyntaxKind): RuleDescriptor; static create3(left: SyntaxKind, right: Shared.TokenRange): RuleDescriptor; static create4(left: Shared.TokenRange, right: Shared.TokenRange): RuleDescriptor; } } declare module TypeScript.Services.Formatting { enum RuleFlags { None = 0, CanDeleteNewLines = 1, } } declare module TypeScript.Services.Formatting { class RuleOperation { public Context: RuleOperationContext; public Action: RuleAction; constructor(); public toString(): string; static create1(action: RuleAction): RuleOperation; static create2(context: RuleOperationContext, action: RuleAction): RuleOperation; } } declare module TypeScript.Services.Formatting { class RuleOperationContext { private customContextChecks; constructor(...funcs: { (context: FormattingContext): boolean; }[]); static Any: RuleOperationContext; public IsAny(): boolean; public InContext(context: FormattingContext): boolean; } } declare module TypeScript.Services.Formatting { class Rules { public getRuleName(rule: Rule): any; [name: string]: any; public IgnoreBeforeComment: Rule; public IgnoreAfterLineComment: Rule; public NoSpaceBeforeSemicolon: Rule; public NoSpaceBeforeColon: Rule; public NoSpaceBeforeQMark: Rule; public SpaceAfterColon: Rule; public SpaceAfterQMark: Rule; public SpaceAfterSemicolon: Rule; public SpaceAfterCloseBrace: Rule; public SpaceBetweenCloseBraceAndElse: Rule; public SpaceBetweenCloseBraceAndWhile: Rule; public NoSpaceAfterCloseBrace: Rule; public NoSpaceBeforeDot: Rule; public NoSpaceAfterDot: Rule; public NoSpaceBeforeOpenBracket: Rule; public NoSpaceAfterOpenBracket: Rule; public NoSpaceBeforeCloseBracket: Rule; public NoSpaceAfterCloseBracket: Rule; public SpaceAfterOpenBrace: Rule; public SpaceBeforeCloseBrace: Rule; public NoSpaceBetweenEmptyBraceBrackets: Rule; public NewLineAfterOpenBraceInBlockContext: Rule; public NewLineBeforeCloseBraceInBlockContext: Rule; public NoSpaceAfterUnaryPrefixOperator: Rule; public NoSpaceAfterUnaryPreincrementOperator: Rule; public NoSpaceAfterUnaryPredecrementOperator: Rule; public NoSpaceBeforeUnaryPostincrementOperator: Rule; public NoSpaceBeforeUnaryPostdecrementOperator: Rule; public SpaceAfterPostincrementWhenFollowedByAdd: Rule; public SpaceAfterAddWhenFollowedByUnaryPlus: Rule; public SpaceAfterAddWhenFollowedByPreincrement: Rule; public SpaceAfterPostdecrementWhenFollowedBySubtract: Rule; public SpaceAfterSubtractWhenFollowedByUnaryMinus: Rule; public SpaceAfterSubtractWhenFollowedByPredecrement: Rule; public NoSpaceBeforeComma: Rule; public SpaceAfterCertainKeywords: Rule; public NoSpaceBeforeOpenParenInFuncCall: Rule; public SpaceAfterFunctionInFuncDecl: Rule; public NoSpaceBeforeOpenParenInFuncDecl: Rule; public SpaceAfterVoidOperator: Rule; public NoSpaceBetweenReturnAndSemicolon: Rule; public SpaceBetweenStatements: Rule; public SpaceAfterTryFinally: Rule; public SpaceAfterGetSetInMember: Rule; public SpaceBeforeBinaryKeywordOperator: Rule; public SpaceAfterBinaryKeywordOperator: Rule; public NoSpaceAfterConstructor: Rule; public NoSpaceAfterModuleImport: Rule; public SpaceAfterCertainTypeScriptKeywords: Rule; public SpaceBeforeCertainTypeScriptKeywords: Rule; public SpaceAfterModuleName: Rule; public SpaceAfterArrow: Rule; public NoSpaceAfterEllipsis: Rule; public NoSpaceAfterOptionalParameters: Rule; public NoSpaceBeforeOpenAngularBracket: Rule; public NoSpaceBetweenCloseParenAndAngularBracket: Rule; public NoSpaceAfterOpenAngularBracket: Rule; public NoSpaceBeforeCloseAngularBracket: Rule; public NoSpaceAfterCloseAngularBracket: Rule; public NoSpaceBetweenEmptyInterfaceBraceBrackets: Rule; public HighPriorityCommonRules: Rule[]; public LowPriorityCommonRules: Rule[]; public SpaceAfterComma: Rule; public NoSpaceAfterComma: Rule; public SpaceBeforeBinaryOperator: Rule; public SpaceAfterBinaryOperator: Rule; public NoSpaceBeforeBinaryOperator: Rule; public NoSpaceAfterBinaryOperator: Rule; public SpaceAfterKeywordInControl: Rule; public NoSpaceAfterKeywordInControl: Rule; public FunctionOpenBraceLeftTokenRange: Shared.TokenRange; public SpaceBeforeOpenBraceInFunction: Rule; public NewLineBeforeOpenBraceInFunction: Rule; public TypeScriptOpenBraceLeftTokenRange: Shared.TokenRange; public SpaceBeforeOpenBraceInTypeScriptDeclWithBlock: Rule; public NewLineBeforeOpenBraceInTypeScriptDeclWithBlock: Rule; public ControlOpenBraceLeftTokenRange: Shared.TokenRange; public SpaceBeforeOpenBraceInControl: Rule; public NewLineBeforeOpenBraceInControl: Rule; public SpaceAfterSemicolonInFor: Rule; public NoSpaceAfterSemicolonInFor: Rule; public SpaceAfterOpenParen: Rule; public SpaceBeforeCloseParen: Rule; public NoSpaceBetweenParens: Rule; public NoSpaceAfterOpenParen: Rule; public NoSpaceBeforeCloseParen: Rule; public SpaceAfterAnonymousFunctionKeyword: Rule; public NoSpaceAfterAnonymousFunctionKeyword: Rule; constructor(); static IsForContext(context: FormattingContext): boolean; static IsNotForContext(context: FormattingContext): boolean; static IsBinaryOpContext(context: FormattingContext): boolean; static IsNotBinaryOpContext(context: FormattingContext): boolean; static IsSameLineTokenOrBeforeMultilineBlockContext(context: FormattingContext): boolean; static IsBeforeMultilineBlockContext(context: FormattingContext): boolean; static IsMultilineBlockContext(context: FormattingContext): boolean; static IsSingleLineBlockContext(context: FormattingContext): boolean; static IsBlockContext(context: FormattingContext): boolean; static IsBeforeBlockContext(context: FormattingContext): boolean; static NodeIsBlockContext(node: IndentationNodeContext): boolean; static IsFunctionDeclContext(context: FormattingContext): boolean; static IsTypeScriptDeclWithBlockContext(context: FormattingContext): boolean; static NodeIsTypeScriptDeclWithBlockContext(node: IndentationNodeContext): boolean; static IsAfterCodeBlockContext(context: FormattingContext): boolean; static IsControlDeclContext(context: FormattingContext): boolean; static IsObjectContext(context: FormattingContext): boolean; static IsFunctionCallContext(context: FormattingContext): boolean; static IsNewContext(context: FormattingContext): boolean; static IsFunctionCallOrNewContext(context: FormattingContext): boolean; static IsSameLineTokenContext(context: FormattingContext): boolean; static IsNotFormatOnEnter(context: FormattingContext): boolean; static IsModuleDeclContext(context: FormattingContext): boolean; static IsObjectTypeContext(context: FormattingContext): boolean; static IsTypeArgumentOrParameter(tokenKind: SyntaxKind, parentKind: SyntaxKind): boolean; static IsTypeArgumentOrParameterContext(context: FormattingContext): boolean; static IsVoidOpContext(context: FormattingContext): boolean; } } declare module TypeScript.Services.Formatting { class RulesMap { public map: RulesBucket[]; public mapRowLength: number; constructor(); static create(rules: Rule[]): RulesMap; public Initialize(rules: Rule[]): RulesBucket[]; public FillRules(rules: Rule[], rulesBucketConstructionStateList: RulesBucketConstructionState[]): void; private GetRuleBucketIndex(row, column); private FillRule(rule, rulesBucketConstructionStateList); public GetRule(context: FormattingContext): Rule; } enum RulesPosition { IgnoreRulesSpecific = 0, IgnoreRulesAny, ContextRulesSpecific, ContextRulesAny, NoContextRulesSpecific, NoContextRulesAny, } class RulesBucketConstructionState { private rulesInsertionIndexBitmap; constructor(); public GetInsertionIndex(maskPosition: RulesPosition): number; public IncreaseInsertionIndex(maskPosition: RulesPosition): void; } class RulesBucket { private rules; constructor(); public Rules(): Rule[]; public AddRule(rule: Rule, specificTokens: boolean, constructionState: RulesBucketConstructionState[], rulesBucketIndex: number): void; } } declare module TypeScript.Services.Formatting { class RulesProvider { private logger; private globalRules; private options; private activeRules; private rulesMap; constructor(logger: ILogger); public getRuleName(rule: Rule): string; public getRuleByName(name: string): Rule; public getRulesMap(): RulesMap; public ensureUpToDate(options: FormatCodeOptions): void; private createActiveRules(options); } } declare module TypeScript.Services.Formatting { class TextEditInfo { public position: number; public length: number; public replaceWith: string; constructor(position: number, length: number, replaceWith: string); public toString(): string; } } declare module TypeScript.Services.Formatting { module Shared { interface ITokenAccess { GetTokens(): SyntaxKind[]; Contains(token: SyntaxKind): boolean; } class TokenRangeAccess implements ITokenAccess { private tokens; constructor(from: SyntaxKind, to: SyntaxKind, except: SyntaxKind[]); public GetTokens(): SyntaxKind[]; public Contains(token: SyntaxKind): boolean; public toString(): string; } class TokenValuesAccess implements ITokenAccess { private tokens; constructor(tks: SyntaxKind[]); public GetTokens(): SyntaxKind[]; public Contains(token: SyntaxKind): boolean; } class TokenSingleValueAccess implements ITokenAccess { public token: SyntaxKind; constructor(token: SyntaxKind); public GetTokens(): SyntaxKind[]; public Contains(tokenValue: SyntaxKind): boolean; public toString(): string; } class TokenAllAccess implements ITokenAccess { public GetTokens(): SyntaxKind[]; public Contains(tokenValue: SyntaxKind): boolean; public toString(): string; } class TokenRange { public tokenAccess: ITokenAccess; constructor(tokenAccess: ITokenAccess); static FromToken(token: SyntaxKind): TokenRange; static FromTokens(tokens: SyntaxKind[]): TokenRange; static FromRange(f: SyntaxKind, to: SyntaxKind, except?: SyntaxKind[]): TokenRange; static AllTokens(): TokenRange; public GetTokens(): SyntaxKind[]; public Contains(token: SyntaxKind): boolean; public toString(): string; static Any: TokenRange; static AnyIncludingMultilineComments: TokenRange; static Keywords: TokenRange; static Operators: TokenRange; static BinaryOperators: TokenRange; static BinaryKeywordOperators: TokenRange; static ReservedKeywords: TokenRange; static UnaryPrefixOperators: TokenRange; static UnaryPrefixExpressions: TokenRange; static UnaryPreincrementExpressions: TokenRange; static UnaryPostincrementExpressions: TokenRange; static UnaryPredecrementExpressions: TokenRange; static UnaryPostdecrementExpressions: TokenRange; static Comments: TokenRange; static TypeNames: TokenRange; } } } declare module TypeScript.Services.Formatting { class TokenSpan extends TextSpan { private _kind; constructor(kind: SyntaxKind, start: number, length: number); public kind(): SyntaxKind; } } declare module TypeScript.Services.Formatting { class IndentationNodeContext { private _node; private _parent; private _fullStart; private _indentationAmount; private _childIndentationAmountDelta; private _depth; private _hasSkippedOrMissingTokenChild; constructor(parent: IndentationNodeContext, node: SyntaxNode, fullStart: number, indentationAmount: number, childIndentationAmountDelta: number); public parent(): IndentationNodeContext; public node(): SyntaxNode; public fullStart(): number; public fullWidth(): number; public start(): number; public end(): number; public indentationAmount(): number; public childIndentationAmountDelta(): number; public depth(): number; public kind(): SyntaxKind; public hasSkippedOrMissingTokenChild(): boolean; public clone(pool: IndentationNodeContextPool): IndentationNodeContext; public update(parent: IndentationNodeContext, node: SyntaxNode, fullStart: number, indentationAmount: number, childIndentationAmountDelta: number): void; } } declare module TypeScript.Services.Formatting { class IndentationNodeContextPool { private nodes; public getNode(parent: IndentationNodeContext, node: SyntaxNode, fullStart: number, indentationLevel: number, childIndentationLevelDelta: number): IndentationNodeContext; public releaseNode(node: IndentationNodeContext, recursive?: boolean): void; } } declare module TypeScript.Services.Formatting { class IndentationTrackingWalker extends SyntaxWalker { public options: FormattingOptions; private _position; private _parent; private _textSpan; private _snapshot; private _lastTriviaWasNewLine; private _indentationNodeContextPool; constructor(textSpan: TextSpan, sourceUnit: SourceUnitSyntax, snapshot: ITextSnapshot, indentFirstToken: boolean, options: FormattingOptions); public position(): number; public parent(): IndentationNodeContext; public textSpan(): TextSpan; public snapshot(): ITextSnapshot; public indentationNodeContextPool(): IndentationNodeContextPool; public forceIndentNextToken(tokenStart: number): void; public forceSkipIndentingNextToken(tokenStart: number): void; public indentToken(token: ISyntaxToken, indentationAmount: number, commentIndentationAmount: number): void; public visitTokenInSpan(token: ISyntaxToken): void; public visitToken(token: ISyntaxToken): void; public visitNode(node: SyntaxNode): void; private getTokenIndentationAmount(token); private getCommentIndentationAmount(token); private getNodeIndentation(node, newLineInsertedByFormatting?); private shouldIndentBlockInParent(parent); private forceRecomputeIndentationOfParent(tokenStart, newLineAdded); } } declare module TypeScript.Services.Formatting { class MultipleTokenIndenter extends IndentationTrackingWalker { private _edits; constructor(textSpan: TextSpan, sourceUnit: SourceUnitSyntax, snapshot: ITextSnapshot, indentFirstToken: boolean, options: FormattingOptions); public indentToken(token: ISyntaxToken, indentationAmount: number, commentIndentationAmount: number): void; public edits(): TextEditInfo[]; public recordEdit(position: number, length: number, replaceWith: string): void; private recordIndentationEditsForToken(token, indentationString, commentIndentationString); private recordIndentationEditsForSingleLineOrSkippedText(trivia, fullStart, indentationString); private recordIndentationEditsForWhitespace(trivia, fullStart, indentationString); private recordIndentationEditsForMultiLineComment(trivia, fullStart, indentationString, leadingWhiteSpace, firstLineAlreadyIndented); private recordIndentationEditsForSegment(segment, fullStart, indentationColumns, whiteSpaceColumnsInFirstSegment); } } declare module TypeScript.Services.Formatting { class SingleTokenIndenter extends IndentationTrackingWalker { private indentationAmount; private indentationPosition; constructor(indentationPosition: number, sourceUnit: SourceUnitSyntax, snapshot: ITextSnapshot, indentFirstToken: boolean, options: FormattingOptions); static getIndentationAmount(position: number, sourceUnit: SourceUnitSyntax, snapshot: ITextSnapshot, options: FormattingOptions): number; public indentToken(token: ISyntaxToken, indentationAmount: number, commentIndentationAmount: number): void; } } declare module TypeScript.Services.Formatting { class Formatter extends MultipleTokenIndenter { private previousTokenSpan; private previousTokenParent; private scriptHasErrors; private rulesProvider; private formattingRequestKind; private formattingContext; constructor(textSpan: TextSpan, sourceUnit: SourceUnitSyntax, indentFirstToken: boolean, options: FormattingOptions, snapshot: ITextSnapshot, rulesProvider: RulesProvider, formattingRequestKind: FormattingRequestKind); static getEdits(textSpan: TextSpan, sourceUnit: SourceUnitSyntax, options: FormattingOptions, indentFirstToken: boolean, snapshot: ITextSnapshot, rulesProvider: RulesProvider, formattingRequestKind: FormattingRequestKind): TextEditInfo[]; public visitTokenInSpan(token: ISyntaxToken): void; private processToken(token); private processTrivia(triviaList, fullStart); private findCommonParents(parent1, parent2); private formatPair(t1, t1Parent, t2, t2Parent); private getLineNumber(span); private trimWhitespaceInLineRange(startLine, endLine, token?); private trimWhitespace(line, token?); private RecordRuleEdits(rule, t1, t2); } } declare var debugObjectHost: any; declare module TypeScript.Services { interface ICoreServicesHost { logger: ILogger; } class CoreServices { public host: ICoreServicesHost; constructor(host: ICoreServicesHost); public getPreProcessedFileInfo(fileName: string, sourceText: IScriptSnapshot): IPreProcessedFileInfo; public getDefaultCompilationSettings(): CompilationSettings; public dumpMemory(): string; public getMemoryInfo(): any[]; public collectGarbage(): void; } } declare module TypeScript.Services { class SyntaxTreeCache { private _host; private _hostCache; private _currentFileName; private _currentFileVersion; private _currentFileSyntaxTree; private _currentFileScriptSnapshot; constructor(_host: ILanguageServiceHost); public getCurrentFileSyntaxTree(fileName: string): SyntaxTree; private createSyntaxTree(fileName, scriptSnapshot); private updateSyntaxTree(fileName, scriptSnapshot, previousSyntaxTree, previousFileVersion); private ensureInvariants(fileName, editRange, incrementalTree, oldScriptSnapshot, newScriptSnapshot); } class LanguageServiceCompiler { private host; private logger; private compiler; private hostCache; constructor(host: ILanguageServiceHost); private synchronizeHostData(); private synchronizeHostDataWorker(); private tryUpdateFile(compiler, fileName); public getScriptSnapshot(fileName: string): IScriptSnapshot; public getCachedHostFileName(fileName: string): string; public getCachedTopLevelDeclaration(fileName: string): PullDecl; public compilationSettings(): ImmutableCompilationSettings; public fileNames(): string[]; public cleanupSemanticCache(): void; public getDocument(fileName: string): Document; public getSyntacticDiagnostics(fileName: string): Diagnostic[]; public getSemanticDiagnostics(fileName: string): Diagnostic[]; public getCompilerOptionsDiagnostics(resolvePath: (path: string) => string): Diagnostic[]; public getSymbolInformationFromAST(ast: AST, document: Document): PullSymbolInfo; public getCallInformationFromAST(ast: AST, document: Document): PullCallSymbolInfo; public getVisibleMemberSymbolsFromAST(ast: AST, document: Document): PullVisibleSymbolsInfo; public getVisibleDeclsFromAST(ast: AST, document: Document): PullDecl[]; public getContextualMembersFromAST(ast: AST, document: Document): PullVisibleSymbolsInfo; public pullGetDeclInformation(decl: PullDecl, ast: AST, document: Document): PullSymbolInfo; public topLevelDeclaration(fileName: string): PullDecl; public getDeclForAST(ast: AST): PullDecl; public emit(fileName: string, resolvePath: (path: string) => string): EmitOutput; public emitDeclarations(fileName: string, resolvePath: (path: string) => string): EmitOutput; public canEmitDeclarations(fileName: string): boolean; } } declare module TypeScript.Services { class CompletionHelpers { private static getSpan(ast); private static symbolDeclarationIntersectsPosition(symbol, fileName, position); static filterContextualMembersList(contextualMemberSymbols: PullSymbol[], existingMembers: PullVisibleSymbolsInfo, fileName: string, position: number): PullSymbol[]; static isCompletionListBlocker(sourceUnit: SourceUnitSyntax, position: number): boolean; static getContainingObjectLiteralApplicableForCompletion(sourceUnit: SourceUnitSyntax, position: number): PositionedElement; static isIdentifierDefinitionLocation(sourceUnit: SourceUnitSyntax, position: number): boolean; static getNonIdentifierCompleteTokenOnLeft(sourceUnit: SourceUnitSyntax, position: number): PositionedToken; static isRightOfIllegalDot(sourceUnit: SourceUnitSyntax, position: number): boolean; static getValidCompletionEntryDisplayName(displayName: string): string; } } declare module TypeScript.Services { class KeywordCompletions { private static keywords; private static keywordCompletions; static getKeywordCompltions(): ResolvedCompletionEntry[]; } } declare module TypeScript.Services { interface IPartiallyWrittenTypeArgumentListInformation { genericIdentifer: PositionedToken; lessThanToken: PositionedToken; argumentIndex: number; } class SignatureInfoHelpers { static isInPartiallyWrittenTypeArgumentList(syntaxTree: SyntaxTree, position: number): IPartiallyWrittenTypeArgumentListInformation; static getSignatureInfoFromSignatureSymbol(symbol: PullSymbol, signatures: PullSignatureSymbol[], enclosingScopeSymbol: PullSymbol, compilerState: LanguageServiceCompiler): FormalSignatureItemInfo[]; static getSignatureInfoFromGenericSymbol(symbol: PullSymbol, enclosingScopeSymbol: PullSymbol, compilerState: LanguageServiceCompiler): FormalSignatureItemInfo[]; static getActualSignatureInfoFromCallExpression(ast: ICallExpression, caretPosition: number, typeParameterInformation: IPartiallyWrittenTypeArgumentListInformation): ActualSignatureInfo; static getActualSignatureInfoFromPartiallyWritenGenericExpression(caretPosition: number, typeParameterInformation: IPartiallyWrittenTypeArgumentListInformation): ActualSignatureInfo; static isSignatureHelpBlocker(sourceUnit: SourceUnitSyntax, position: number): boolean; static isTargetOfObjectCreationExpression(positionedToken: PositionedToken): boolean; private static moveBackUpTillMatchingTokenKind(token, tokenKind, matchingTokenKind); } } declare module TypeScript.Services { interface CachedCompletionEntryDetails extends CompletionEntryDetails { isResolved(): boolean; } class ResolvedCompletionEntry implements CachedCompletionEntryDetails { public name: string; public kind: string; public kindModifiers: string; public type: string; public fullSymbolName: string; public docComment: string; constructor(name: string, kind: string, kindModifiers: string, type: string, fullSymbolName: string, docComment: string); public isResolved(): boolean; } class DeclReferenceCompletionEntry implements CachedCompletionEntryDetails { public name: string; public kind: string; public kindModifiers: string; public decl: PullDecl; public type: string; public fullSymbolName: string; public docComment: string; private hasBeenResolved; constructor(name: string, kind: string, kindModifiers: string, decl: PullDecl); public isResolved(): boolean; public resolve(type: string, fullSymbolName: string, docComments: string): void; } class CompletionSession { public fileName: string; public position: number; public entries: IdentiferNameHashTable; constructor(fileName: string, position: number, entries: IdentiferNameHashTable); } } declare module TypeScript.Services { class LanguageService implements ILanguageService { public host: ILanguageServiceHost; private logger; private compiler; private _syntaxTreeCache; private formattingRulesProvider; private activeCompletionSession; constructor(host: ILanguageServiceHost); public cleanupSemanticCache(): void; public refresh(): void; private getSymbolInfoAtPosition(fileName, pos, requireName); public getReferencesAtPosition(fileName: string, pos: number): ReferenceEntry[]; private getSymbolScopeAST(symbol, ast); public getOccurrencesAtPosition(fileName: string, pos: number): ReferenceEntry[]; private getSingleNodeReferenceAtPosition(fileName, position); public getImplementorsAtPosition(fileName: string, pos: number): ReferenceEntry[]; public getOverrides(container: PullTypeSymbol, memberSym: PullSymbol): PullTypeSymbol[]; private getImplementorsInFile(fileName, symbol); private getReferencesInFile(fileName, symbol, containingASTOpt); private isWriteAccess(current); private isLetterOrDigit(char); private getPossibleSymbolReferencePositions(fileName, symbolName); public getSignatureAtPosition(fileName: string, position: number): SignatureInfo; private getTypeParameterSignatureFromPartiallyWrittenExpression(document, position, genericTypeArgumentListInfo); public getDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[]; private addDeclarations(symbolKind, symbolName, containerKind, containerName, declarations, result); private addDeclaration(symbolKind, symbolName, containerKind, containerName, declaration, result); private tryAddDefinition(symbolKind, symbolName, containerKind, containerName, declarations, result); private tryAddSignatures(symbolKind, symbolName, containerKind, containerName, declarations, result); private tryAddConstructor(symbolKind, symbolName, containerKind, containerName, declarations, result); public getNavigateToItems(searchValue: string): NavigateToItem[]; private hasAnyUpperCaseCharacter(s); private findSearchValueInPullDecl(fileName, declarations, results, searchTerms, parentName?, parentkindName?); private getScriptElementKindModifiersFromDecl(decl); private isContainerDeclaration(declaration); private shouldIncludeDeclarationInNavigationItems(declaration); public getSyntacticDiagnostics(fileName: string): Diagnostic[]; public getSemanticDiagnostics(fileName: string): Diagnostic[]; private _getHostSpecificDiagnosticWithFileName(diagnostic); public getCompilerOptionsDiagnostics(): Diagnostic[]; private _getHostFileName(fileName); public getEmitOutput(fileName: string): EmitOutput; private getAllSyntacticDiagnostics(); private getAllSemanticDiagnostics(); private containErrors(diagnostics); private getFullNameOfSymbol(symbol, enclosingScopeSymbol); private getTypeInfoEligiblePath(fileName, position, isConstructorValidPosition); public getTypeAtPosition(fileName: string, position: number): TypeInfo; public getCompletionsAtPosition(fileName: string, position: number, isMemberCompletion: boolean): CompletionInfo; private getCompletionEntriesFromSymbols(symbolInfo, result); private getCompletionEntriesFromDecls(decls, result); private getResolvedCompletionEntryDetailsFromSymbol(symbol, enclosingScopeSymbol); private getCompletionEntriesForKeywords(keywords, result); public getCompletionEntryDetails(fileName: string, position: number, entryName: string): CompletionEntryDetails; private tryFindDeclFromPreviousCompilerVersion(invalidatedDecl); private getModuleOrEnumKind(symbol); private mapPullElementKind(kind, symbol?, useConstructorAsClass?, varIsFunction?, functionIsConstructor?); private getScriptElementKindModifiers(symbol); private getScriptElementKindModifiersFromFlags(flags); public getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): SpanInfo; public getBreakpointStatementAtPosition(fileName: string, pos: number): SpanInfo; public getFormattingEditsForRange(fileName: string, minChar: number, limChar: number, options: FormatCodeOptions): TextEdit[]; public getFormattingEditsForDocument(fileName: string, minChar: number, limChar: number, options: FormatCodeOptions): TextEdit[]; public getFormattingEditsOnPaste(fileName: string, minChar: number, limChar: number, options: FormatCodeOptions): TextEdit[]; public getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions): TextEdit[]; private getFormattingManager(fileName, options); public getOutliningRegions(fileName: string): TextSpan[]; public getIndentationAtPosition(fileName: string, position: number, editorOptions: EditorOptions): number; public getBraceMatchingAtPosition(fileName: string, position: number): TextSpan[]; public getScriptLexicalStructure(fileName: string): NavigateToItem[]; public getSyntaxTree(fileName: string): SyntaxTree; } } declare module TypeScript.Services { class FindReferenceHelpers { static compareSymbolsForLexicalIdentity(firstSymbol: PullSymbol, secondSymbol: PullSymbol): boolean; private static checkSymbolsForDeclarationEquality(firstSymbol, secondSymbol); private static declarationsAreSameOrParents(firstDecl, secondDecl); } } declare module TypeScript.Services { interface IScriptSnapshotShim { getText(start: number, end: number): string; getLength(): number; getLineStartPositions(): string; getTextChangeRangeSinceVersion(scriptVersion: number): string; } interface ILanguageServiceShimHost extends ILogger { getCompilationSettings(): string; getScriptFileNames(): string; getScriptVersion(fileName: string): number; getScriptIsOpen(fileName: string): boolean; getScriptByteOrderMark(fileName: string): number; getScriptSnapshot(fileName: string): IScriptSnapshotShim; resolveRelativePath(path: string, directory: string): string; fileExists(path: string): boolean; directoryExists(path: string): boolean; getParentDirectory(path: string): string; getDiagnosticsObject(): ILanguageServicesDiagnostics; getLocalizedDiagnosticMessages(): string; } interface IShimFactory { registerShim(shim: IShim): void; unregisterShim(shim: IShim): void; } interface IShim { dispose(dummy: any): void; } class ShimBase implements IShim { private factory; constructor(factory: IShimFactory); public dispose(dummy: any): void; } interface ILanguageServiceShim extends IShim { languageService: ILanguageService; dispose(dummy: any): void; refresh(throwOnError: boolean): void; cleanupSemanticCache(): void; getSyntacticDiagnostics(fileName: string): string; getSemanticDiagnostics(fileName: string): string; getCompilerOptionsDiagnostics(): string; getCompletionsAtPosition(fileName: string, position: number, isMemberCompletion: boolean): string; getCompletionEntryDetails(fileName: string, position: number, entryName: string): string; getTypeAtPosition(fileName: string, position: number): string; getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): string; getBreakpointStatementAtPosition(fileName: string, position: number): string; getSignatureAtPosition(fileName: string, position: number): string; getDefinitionAtPosition(fileName: string, position: number): string; getReferencesAtPosition(fileName: string, position: number): string; getOccurrencesAtPosition(fileName: string, position: number): string; getImplementorsAtPosition(fileName: string, position: number): string; getNavigateToItems(searchValue: string): string; getScriptLexicalStructure(fileName: string): string; getOutliningRegions(fileName: string): string; getBraceMatchingAtPosition(fileName: string, position: number): string; getIndentationAtPosition(fileName: string, position: number, options: string): string; getFormattingEditsForRange(fileName: string, minChar: number, limChar: number, options: string): string; getFormattingEditsForDocument(fileName: string, minChar: number, limChar: number, options: string): string; getFormattingEditsOnPaste(fileName: string, minChar: number, limChar: number, options: string): string; getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: string): string; getEmitOutput(fileName: string): string; } class LanguageServiceShimHostAdapter implements ILanguageServiceHost { private shimHost; constructor(shimHost: ILanguageServiceShimHost); public information(): boolean; public debug(): boolean; public warning(): boolean; public error(): boolean; public fatal(): boolean; public log(s: string): void; public getCompilationSettings(): CompilationSettings; public getScriptFileNames(): string[]; public getScriptSnapshot(fileName: string): IScriptSnapshot; public getScriptVersion(fileName: string): number; public getScriptIsOpen(fileName: string): boolean; public getScriptByteOrderMark(fileName: string): ByteOrderMark; public getDiagnosticsObject(): ILanguageServicesDiagnostics; public getLocalizedDiagnosticMessages(): any; public resolveRelativePath(path: string, directory: string): string; public fileExists(path: string): boolean; public directoryExists(path: string): boolean; public getParentDirectory(path: string): string; } function simpleForwardCall(logger: ILogger, actionDescription: string, action: () => any): any; function forwardJSONCall(logger: ILogger, actionDescription: string, action: () => any): string; class LanguageServiceShim extends ShimBase implements ILanguageServiceShim { private host; public languageService: ILanguageService; private logger; constructor(factory: IShimFactory, host: ILanguageServiceShimHost, languageService: ILanguageService); public forwardJSONCall(actionDescription: string, action: () => any): string; public dispose(dummy: any): void; public refresh(throwOnError: boolean): void; public cleanupSemanticCache(): void; private static realizeDiagnosticCategory(category); private static realizeDiagnostic(diagnostic); private realizeDiagnosticWithFileName(diagnostic); public getSyntacticDiagnostics(fileName: string): string; public getSemanticDiagnostics(fileName: string): string; public getCompilerOptionsDiagnostics(): string; public getTypeAtPosition(fileName: string, position: number): string; public getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): string; public getBreakpointStatementAtPosition(fileName: string, position: number): string; public getSignatureAtPosition(fileName: string, position: number): string; public getDefinitionAtPosition(fileName: string, position: number): string; public getBraceMatchingAtPosition(fileName: string, position: number): string; public getIndentationAtPosition(fileName: string, position: number, options: string): string; public getReferencesAtPosition(fileName: string, position: number): string; public getOccurrencesAtPosition(fileName: string, position: number): string; public getImplementorsAtPosition(fileName: string, position: number): string; public getCompletionsAtPosition(fileName: string, position: number, isMemberCompletion: boolean): string; public getCompletionEntryDetails(fileName: string, position: number, entryName: string): string; public getFormattingEditsForRange(fileName: string, minChar: number, limChar: number, options: string): string; public getFormattingEditsForDocument(fileName: string, minChar: number, limChar: number, options: string): string; public getFormattingEditsOnPaste(fileName: string, minChar: number, limChar: number, options: string): string; public getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: string): string; public getNavigateToItems(searchValue: string): string; public getScriptLexicalStructure(fileName: string): string; public getOutliningRegions(fileName: string): string; public getEmitOutput(fileName: string): string; private _navigateToItemsToString(items); } class ClassifierShim extends ShimBase { public host: IClassifierHost; public classifier: Classifier; constructor(factory: IShimFactory, host: IClassifierHost); public getClassificationsForLine(text: string, lexState: EndOfLineState): string; } class CoreServicesShim extends ShimBase { public host: ICoreServicesHost; public logger: ILogger; public services: CoreServices; constructor(factory: IShimFactory, host: ICoreServicesHost); private forwardJSONCall(actionDescription, action); public getPreProcessedFileInfo(fileName: string, sourceText: IScriptSnapshot): string; public getDefaultCompilationSettings(): string; public dumpMemory(dummy: any): string; public getMemoryInfo(dummy: any): string; } } declare module TypeScript.Services { class OutliningElementsCollector extends DepthLimitedWalker { private static MaximumDepth; private inObjectLiteralExpression; private elements; constructor(); public visitClassDeclaration(node: ClassDeclarationSyntax): void; public visitInterfaceDeclaration(node: InterfaceDeclarationSyntax): void; public visitModuleDeclaration(node: ModuleDeclarationSyntax): void; public visitEnumDeclaration(node: EnumDeclarationSyntax): void; public visitFunctionDeclaration(node: FunctionDeclarationSyntax): void; public visitFunctionExpression(node: FunctionExpressionSyntax): void; public visitConstructorDeclaration(node: ConstructorDeclarationSyntax): void; public visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): void; public visitGetAccessor(node: GetAccessorSyntax): void; public visitSetAccessor(node: SetAccessorSyntax): void; public visitObjectLiteralExpression(node: ObjectLiteralExpressionSyntax): void; private addOutlineRange(node, startElement, endElement); static collectElements(node: SourceUnitSyntax): TextSpan[]; } } declare module TypeScript.Services { class Indenter { static getIndentation(node: SourceUnitSyntax, soruceText: IScriptSnapshot, position: number, editorOptions: EditorOptions): number; private static belongsToBracket(sourceText, token, position); private static isInContainerNode(parent, element); private static getCustomListIndentation(list, element); private static getListItemIndentation(list, elementIndex); } } declare module TypeScript.Services.Breakpoints { function getBreakpointLocation(syntaxTree: SyntaxTree, askedPos: number): SpanInfo; } declare module TypeScript.Services { class GetScriptLexicalStructureWalker extends PositionTrackingWalker { private fileName; private nameStack; private kindStack; private currentMemberVariableDeclaration; private currentVariableStatement; private currentInterfaceDeclaration; private parentScopes; private currentScope; private createScope(); private pushNewContainerScope(containerName, kind); private popScope(); constructor(fileName: string); private collectItems(items, scope?); static getListsOfAllScriptLexicalStructure(items: NavigateToItem[], fileName: string, unit: SourceUnitSyntax): void; private createItem(node, modifiers, kind, name); private addAdditionalSpan(node, key); private getKindModifiers(modifiers); public visitModuleDeclaration(node: ModuleDeclarationSyntax): void; private visitModuleDeclarationWorker(node, names, nameIndex); private getModuleNames(node); private getModuleNamesHelper(name, result); public visitClassDeclaration(node: ClassDeclarationSyntax): void; public visitInterfaceDeclaration(node: InterfaceDeclarationSyntax): void; public visitObjectType(node: ObjectTypeSyntax): void; public visitEnumDeclaration(node: EnumDeclarationSyntax): void; public visitConstructorDeclaration(node: ConstructorDeclarationSyntax): void; public visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): void; public visitGetAccessor(node: GetAccessorSyntax): void; public visitSetAccessor(node: SetAccessorSyntax): void; public visitMemberVariableDeclaration(node: MemberVariableDeclarationSyntax): void; public visitVariableStatement(node: VariableStatementSyntax): void; public visitVariableDeclarator(node: VariableDeclaratorSyntax): void; public visitIndexSignature(node: IndexSignatureSyntax): void; public visitEnumElement(node: EnumElementSyntax): void; public visitCallSignature(node: CallSignatureSyntax): void; public visitConstructSignature(node: ConstructSignatureSyntax): void; public visitMethodSignature(node: MethodSignatureSyntax): void; public visitPropertySignature(node: PropertySignatureSyntax): void; public visitFunctionDeclaration(node: FunctionDeclarationSyntax): void; public visitBlock(node: BlockSyntax): void; public visitIfStatement(node: IfStatementSyntax): void; public visitExpressionStatement(node: ExpressionStatementSyntax): void; public visitThrowStatement(node: ThrowStatementSyntax): void; public visitReturnStatement(node: ReturnStatementSyntax): void; public visitSwitchStatement(node: SwitchStatementSyntax): void; public visitWithStatement(node: WithStatementSyntax): void; public visitTryStatement(node: TryStatementSyntax): void; public visitLabeledStatement(node: LabeledStatementSyntax): void; } } declare module TypeScript.Services { function copyDataObject(dst: any, src: any): any; class TypeScriptServicesFactory implements IShimFactory { private _shims; public createPullLanguageService(host: ILanguageServiceHost): ILanguageService; public createLanguageServiceShim(host: ILanguageServiceShimHost): ILanguageServiceShim; public createClassifier(host: IClassifierHost): Classifier; public createClassifierShim(host: IClassifierHost): ClassifierShim; public createCoreServices(host: ICoreServicesHost): CoreServices; public createCoreServicesShim(host: ICoreServicesHost): CoreServicesShim; public close(): void; public registerShim(shim: IShim): void; public unregisterShim(shim: IShim): void; } } declare module TypeScript.Services { class BraceMatcher { static getMatchSpans(syntaxTree: SyntaxTree, position: number): TextSpan[]; private static getMatchingCloseBrace(currentToken, position, result); private static getMatchingOpenBrace(currentToken, position, result); private static getMatchingCloseBraceTokenKind(positionedElement); private static getMatchingOpenBraceTokenKind(positionedElement); } } declare module 'typescript-services' { export = TypeScript; }