use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_protocol!(
pub unsafe trait UIDataSourceTranslating: NSObjectProtocol + IsMainThreadOnly {
#[method(presentationSectionIndexForDataSourceSectionIndex:)]
unsafe fn presentationSectionIndexForDataSourceSectionIndex(
&self,
data_source_section_index: NSInteger,
) -> NSInteger;
#[method(dataSourceSectionIndexForPresentationSectionIndex:)]
unsafe fn dataSourceSectionIndexForPresentationSectionIndex(
&self,
presentation_section_index: NSInteger,
) -> NSInteger;
#[method_id(@__retain_semantics Other presentationIndexPathForDataSourceIndexPath:)]
unsafe fn presentationIndexPathForDataSourceIndexPath(
&self,
data_source_index_path: Option<&NSIndexPath>,
) -> Option<Retained<NSIndexPath>>;
#[method_id(@__retain_semantics Other dataSourceIndexPathForPresentationIndexPath:)]
unsafe fn dataSourceIndexPathForPresentationIndexPath(
&self,
presentation_index_path: Option<&NSIndexPath>,
) -> Option<Retained<NSIndexPath>>;
#[cfg(feature = "block2")]
#[method(performUsingPresentationValues:)]
unsafe fn performUsingPresentationValues(
&self,
actions_to_translate: &block2::Block<dyn Fn() + '_>,
);
}
unsafe impl ProtocolType for dyn UIDataSourceTranslating {}
);