import { HRDParams } from "./hrd";
import { SPSInfo, /*getFrameCropping,*/ FrameCropping } from './sps';
export { FrameCropping };
export declare type SPS_SVC_EXT = {
    inter_layer_deblocking_filter_control_present_flag: 0 | 1;
    extended_spatial_scalability_idc: number;
    chroma_phase_x_flag: 0 | 1;
    chroma_phase_y: number;
    seq_ref_layer_chroma_phase_x_flag: 0 | 1;
    seq_ref_layer_chroma_phase_y: number;
    seq_scaled_ref_layer_left_offset: number;
    seq_scaled_ref_layer_top_offset: number;
    seq_scaled_ref_layer_right_offset: number;
    seq_scaled_ref_layer_bottom_offset: number;
    seq_tcoeff_level_prediction_flag: 0 | 1;
    adaptive_tcoeff_level_prediction_flag: 0 | 1;
    slice_header_restriction_flag: 0 | 1;
};
export declare type SVC_VUI = {
    dependency_id: number;
    quality_id: number;
    temporal_id: number;
    timing_info_present_flag: 0 | 1;
    num_units_in_tick: number;
    time_scale: number;
    fixed_frame_rate_flag: 0 | 1;
    nal_hrd_parameters_present_flag: 0 | 1;
    nal_hrd_parameters: HRDParams;
    vcl_hrd_parameters_present_flag: 0 | 1;
    vcl_hrd_parameters: HRDParams;
    low_delay_hrd_flag: 0 | 1;
    pic_struct_present_flag: 0 | 1;
};
export declare type MVC_VUI = {
    temporal_id: number;
    view_id: number[];
    timing_info_present_flag: 0 | 1;
    num_units_in_tick: number;
    time_scale: number;
    fixed_frame_rate_flag: 0 | 1;
    nal_hrd_parameters_present_flag: 0 | 1;
    nal_hrd_parameters: HRDParams;
    vcl_hrd_parameters_present_flag: 0 | 1;
    vcl_hrd_parameters: HRDParams;
    low_delay_hrd_flag: 0 | 1;
    pic_struct_present_flag: 0 | 1;
};
export declare type MVCView = {
    view_id: number;
    anchor_ref_l0: number[];
    anchor_ref_l1: number[];
    non_anchor_ref_l0: number[];
    non_anchor_ref_l1: number[];
};
export declare type MVCLevel = {
    level_idc: number;
    applicable_op_temporal_id: number[];
    applicable_op_num_target_views: number[];
    applicable_op_target_view_id: number[][];
    applicable_op_num_views: number[];
};
export declare type MVC_EXT = {
    views: MVCView[];
    levels: MVCLevel[];
    mfc_format_idc: number;
    default_grid_position_flag: 0 | 1;
    view0_grid_position_x: number;
    view0_grid_position_y: number;
    view1_grid_position_x: number;
    view1_grid_position_y: number;
    rpu_filter_enabled_flag: 0 | 1;
    rpu_field_processing_flag: 0 | 1;
};
export declare type MVCD_VUI = {
    temporal_id: number;
    view_id: number[];
    depth_flag: (0 | 1)[];
    texture_flag: (0 | 1)[];
    timing_info_present_flag: 0 | 1;
    num_units_in_tick: number;
    time_scale: number;
    fixed_frame_rate_flag: 0 | 1;
    nal_hrd_parameters_present_flag: 0 | 1;
    nal_hrd_parameters: HRDParams;
    vcl_hrd_parameters_present_flag: 0 | 1;
    vcl_hrd_parameters: HRDParams;
    low_delay_hrd_flag: 0 | 1;
    pic_struct_present_flag: 0 | 1;
};
export declare type MVCDView = {
    view_id: number;
    depth_view_present_flag: 0 | 1;
    texture_view_present_flag: 0 | 1;
    anchor_ref_l0: number[];
    anchor_ref_l1: number[];
    non_anchor_ref_l0: number[];
    non_anchor_ref_l1: number[];
};
export declare type MVCDLevel = {
    level_idc: number;
    applicable_op_temporal_id: number[];
    applicable_op_target_view_id: number[][];
    applicable_op_depth_flag: (0 | 1)[][];
    applicable_op_texture_flag: (0 | 1)[][];
    applicable_op_num_texture_views: number[];
    applicable_op_num_depth_views: number[];
};
export declare type MVCD_EXT = {
    num_views: number;
    views: MVCDView[];
    num_depth_views: number;
    depth_view_id: number[];
    levels: MVCDLevel[];
    mvcd_vui_parameters_present_flag: 0 | 1;
    mvcd_vui_parameters: MVCD_VUI[];
    texture_vui_parameters_present_flag: 0 | 1;
    texture_vui_parameters: MVC_VUI[];
};
export declare type ThreeDAVC = {
    view_id_3dv: number[];
    threedv_acquisition_idc: number;
    depth_pic_width_in_mbs: number;
    depth_pic_height_in_map_units: number;
    depth_hor_mult: number;
    depth_ver_mult: number;
    depth_hor_rsh: number;
    depth_ver_rsh: number;
    depth_frame_cropping_flag: 0 | 1;
    depth_frame_crop: FrameCropping;
    grid_pos_num_view: number;
    grid_pos_view_id: number[];
    grid_pos_x: number[];
    grid_pos_y: number[];
    slice_header_prediction_flag: 0 | 1;
    seq_view_synthesis_flag: 0 | 1;
    alc_sps_enable_flag: 0 | 1;
    enable_rle_skip_flag: 0 | 1;
    anchor_ref_l0: number[][];
    anchor_ref_l1: number[][];
    non_anchor_ref_l0: number[][];
    non_anchor_ref_l1: number[][];
};
export declare type SSPSInfo = {
    nalu_type: 15;
    sps_data: SPSInfo;
    svc_vui_parameters_present_flag: 0 | 1;
    mvc_vui_parameters_present_flag: 0 | 1;
    seq_parameter_set_svc_ext: SPS_SVC_EXT;
    svc_vui_parameters_ext: SVC_VUI[];
    seq_parameter_set_mvc_ext: MVC_EXT;
    mvc_vui_parameters_ext: MVC_VUI[];
    seq_parameter_set_mvcd_ext: MVCD_EXT;
    seq_parameter_set_3davc_ext: ThreeDAVC;
};
export declare function parseSSPS(nalu: Uint8Array): SSPSInfo;
