from _typeshed import Incomplete
from czsc.fsa.base import FeishuApiBase as FeishuApiBase, request as request

class BiTable(FeishuApiBase):
    app_token: Incomplete
    def __init__(self, app_id=None, app_secret=None, app_token=None, **kwargs) -> None: ...
    def one_record(self, table_id, record_id): ...
    def list_records(self, table_id, **kwargs): ...
    def create_table(self, name=None, default_view_name=None, fields=None): ...
    def batch_create_table(self, names=None): ...
    def delete_table(self, table_id): ...
    def batch_delete_table(self, table_ids=None): ...
    def patch_table(self, table_id, name): ...
    def list_tables(self, page_token=None, page_size: int = 20): ...
    def table_record_get(self, table_id, record_id, text_field_as_array=None, user_id_type=None, display_formula_ref=None, with_shared_url=None, automatic_fields=None): ...
    def table_record_search(self, table_id, user_id_type=None, page_token=None, page_size: int = 20, view_id=None, field_names=None, sort=None, filter=None, automatic_fields=None): ...
    def table_record_create(self, table_id, fields, user_id_type=None, client_token=None): ...
    def table_record_update(self, table_id, record_id, fields, user_id_type=None): ...
    def table_record_delete(self, table_id, record_id): ...
    def table_record_batch_create(self, table_id, records, user_id_type=None, client_token=None): ...
    def table_record_batch_update(self, table_id, records, user_id_type=None): ...
    def table_record_batch_delete(self, table_id, record_ids): ...
    def table_view_patch(self, table_id, view_id, infos): ...
    def table_view_get(self, table_id, view_id): ...
    def table_view_list(self, table_id, page_size: int = 20, user_id_type=None, page_token=None): ...
    def table_view_create(self, table_id, view_name, view_type): ...
    def table_view_delete(self, table_id, view_id): ...
    def table_field_list(self, table_id, page_size: int = 20, view_id=None, text_field_as_array=None, page_token=None): ...
    def table_field_create(self, table_id, field_name, type, property=None, description=None, ui_type=None, client_token=None): ...
    def table_field_update(self, table_id, field_id, field_name, type, property=None, description=None, ui_type=None): ...
    def table_field_delete(self, table_id, field_id): ...
    def table_form_patch_2(self, table_id, form_id, name=None, description=None, shared=None, shared_limit=None, submit_limit_once=None): ...
    def table_form_get(self, table_id, form_id): ...
    def table_form_patch(self, table_id, form_id, field_id, pre_field_id=None, title=None, description=None, required=None, visible=None): ...
    def table_form_list(self, table_id, form_id): ...
    def table_copy(self, app_token=None, name=None, folder_token=None, without_content=None, time_zone=None): ...
    def table_create(self, name=None, folder_token=None, time_zone=None): ...
    def table_get(self, app_token=None): ...
    def table_update(self, app_token=None, name=None, is_advanced=None): ...
    @property
    def tables(self): ...
    def read_table(self, table_id, **kwargs): ...
    def empty_table(self, table_id, **kwargs) -> None: ...
