use super::dependency_lifecycle::SequenceDependencyContext;
use uqa_sql::catalog::security::sequence_inquiry::SequencePrivilegeInquiry;
pub trait SequenceRemovalPublication {
fn remove_state(&self, name: &str) -> Result<bool, String>;
}
pub trait SequenceRemovalInputs {
fn sequence_removal_context(&self) -> SequenceRemovalContext<'_>;
}
pub struct SequenceRemovalContext<'a> {
pub publication: &'a dyn SequenceRemovalPublication,
pub privileges: SequencePrivilegeInquiry<'a>,
pub dependencies: SequenceDependencyContext<'a>,
}