type char = u8 ; type ptr < T > = usize ; type size_t = usize ; export type LogLevel = usize ; export type WasmResult = u32 ; export type MetricType = i32 ; export type PeerType = i32 ; export type HeaderMapType = i32 ; export type BufferType = i32 ; export type BufferFlags = i32 ; export type StreamType = i32 ; @ external ( "env" , "proxy_get_status" ) export declare function proxy_get_status ( status_code_ptr , message_ptr , message_size ) ; @ external ( "env" , "proxy_log" ) export declare function proxy_log ( level , logMessage , messageSize ) ; @ external ( "env" , "proxy_get_log_level" ) export declare function proxy_get_log_level ( status_code_ptr ) ; @ external ( "env" , "proxy_set_tick_period_milliseconds" ) export declare function proxy_set_tick_period_milliseconds ( millisecond ) ; @ external ( "env" , "proxy_get_current_time_nanoseconds" ) export declare function proxy_get_current_time_nanoseconds ( nanoseconds ) ; @ external ( "env" , "proxy_get_property" ) export declare function proxy_get_property ( path_ptr , path_size , value_ptr_ptr , value_size_ptr ) ; @ external ( "env" , "proxy_set_property" ) export declare function proxy_set_property ( path_ptr , path_size , value_ptr , value_size ) ; @ external ( "env" , "proxy_continue_stream" ) export declare function proxy_continue_stream ( stream_type ) ; @ external ( "env" , "proxy_close_stream" ) export declare function proxy_close_stream ( stream_type ) ; @ external ( "env" , "proxy_send_local_response" ) export declare function proxy_send_local_response ( response_code , response_code_details_ptr , response_code_details_size , body_ptr , body_size , additional_response_header_pairs_ptr , additional_response_header_pairs_size , grpc_status ) ; @ external ( "env" , "proxy_clear_route_cache" ) export declare function proxy_clear_route_cache ( ) ; @ external ( "env" , "proxy_get_shared_data" ) export declare function proxy_get_shared_data ( key_ptr , key_size , value_ptr , value_size , cas ) ; @ external ( "env" , "proxy_set_shared_data" ) export declare function proxy_set_shared_data ( key_ptr , key_size , value_ptr , value_size , cas ) ; @ external ( "env" , "proxy_register_shared_queue" ) export declare function proxy_register_shared_queue ( queue_name_ptr , queue_name_size , token ) ; @ external ( "env" , "proxy_resolve_shared_queue" ) export declare function proxy_resolve_shared_queue ( vm_id , vm_id_size , queue_name_ptr , queue_name_size , token ) ; @ external ( "env" , "proxy_dequeue_shared_queue" ) export declare function proxy_dequeue_shared_queue ( token , data_ptr , data_size ) ; @ external ( "env" , "proxy_enqueue_shared_queue" ) export declare function proxy_enqueue_shared_queue ( token , data_ptr , data_size ) ; @ external ( "env" , "proxy_add_header_map_value" ) export declare function proxy_add_header_map_value ( typ , key_ptr , key_size , value_ptr , value_size ) ; @ external ( "env" , "proxy_get_header_map_value" ) export declare function proxy_get_header_map_value ( typ , key_ptr , key_size , value_ptr , value_size ) ; @ external ( "env" , "proxy_get_header_map_pairs" ) export declare function proxy_get_header_map_pairs ( typ , ptr , size ) ; @ external ( "env" , "proxy_set_header_map_pairs" ) export declare function proxy_set_header_map_pairs ( typ , ptr , size ) ; @ external ( "env" , "proxy_replace_header_map_value" ) export declare function proxy_replace_header_map_value ( typ , key_ptr , key_size , value_ptr , value_size ) ; @ external ( "env" , "proxy_remove_header_map_value" ) export declare function proxy_remove_header_map_value ( typ , key_ptr , key_size ) ; @ external ( "env" , "proxy_get_header_map_size" ) export declare function proxy_get_header_map_size ( typ , size ) ; @ external ( "env" , "proxy_get_buffer_bytes" ) export declare function proxy_get_buffer_bytes ( typ , start , length , ptr , size ) ; @ external ( "env" , "proxy_get_buffer_status" ) export declare function proxy_get_buffer_status ( typ , length_ptr , flags_ptr ) ; @ external ( "env" , "proxy_http_call" ) export declare function proxy_http_call ( uri_ptr , uri_size , header_pairs_ptr , header_pairs_size , body_ptr , body_size , trailer_pairs_ptr , trailer_pairs_size , timeout_milliseconds , token_ptr ) ; @ external ( "env" , "proxy_grpc_call" ) export declare function proxy_grpc_call ( service_ptr , service_size , service_name_ptr , service_name_size , method_name_ptr , method_name_size , request_ptr , request_size , timeout_milliseconds , token_ptr ) ; @ external ( "env" , "proxy_grpc_stream" ) export declare function proxy_grpc_stream ( service_ptr , service_size , service_name_ptr , service_name_size , method_name_ptr , method_name_size , token_ptr ) ; @ external ( "env" , "proxy_grpc_cancel" ) export declare function proxy_grpc_cancel ( token ) ; @ external ( "env" , "proxy_grpc_close" ) export declare function proxy_grpc_close ( token ) ; @ external ( "env" , "proxy_grpc_send" ) export declare function proxy_grpc_send ( token , message_ptr , message_size , end_stream ) ; @ external ( "env" , "proxy_define_metric" ) export declare function proxy_define_metric ( type , name_ptr , name_size , metric_id ) ; @ external ( "env" , "proxy_increment_metric" ) export declare function proxy_increment_metric ( metric_id , offset ) ; @ external ( "env" , "proxy_record_metric" ) export declare function proxy_record_metric ( metric_id , value ) ; @ external ( "env" , "proxy_get_metric" ) export declare function proxy_get_metric ( metric_id , result ) ; @ external ( "env" , "proxy_set_effective_context" ) export declare function proxy_set_effective_context ( effective_context_id ) ; @ external ( "env" , "proxy_done" ) export declare function proxy_done ( ) ; @ external ( "env" , "proxy_call_foreign_function" ) export declare function proxy_call_foreign_function ( function_name , name_size , arguments , arguments_size , results , results_size ) ;