mod file_catalog;
mod managed_files;
mod schema;
mod store;

#[cfg(test)]
mod sql;

pub use file_catalog::{
    StorageFileMutationRecord, StorageFileMutationStatus, ensure_storage_file_catalog_tables,
    record_storage_file_update,
};
pub use managed_files::{
    FileAccessContext, FilePermissionGrantInput, FilePermissionKind, FilePermissionRecord,
    ManagedFileActionRecord, ManagedFileActionStatus, ManagedFilePatchInput, ManagedFileRecord,
    ManagedFileUpsertInput, ManagedStorageTarget, PresignedUrlCacheRecord, StorageAuditEventRecord,
    StorageAuditListInput, authorize_file_access, check_file_permission,
    delete_cached_presigned_url, ensure_managed_storage_tables, find_existing_file_by_path,
    grant_file_permission, list_file_permissions, list_files_for_prefix, list_files_for_storage,
    list_storage_audit_events, load_cached_presigned_url, load_managed_file,
    load_managed_storage_target, mark_file_deleted, patch_managed_file, purge_file,
    record_managed_file_action, restore_file, revoke_file_permission, search_files,
    set_file_public_state, set_file_visibility, update_file_location, update_file_status,
    upsert_cached_presigned_url, upsert_managed_file_for_upload,
};
pub use store::{
    CreateS3CatalogInput, S3CatalogItem, S3CatalogRuntimeBinding, S3CredentialListItem,
    S3CredentialStoreError, UpdateS3CatalogInput, create_s3_catalog, delete_s3_catalog,
    ensure_s3_credentials_table, list_s3_catalogs, list_s3_credentials, load_s3_catalog_runtime,
    update_s3_catalog,
};
