use std::collections::HashMap;
use crate::core::config::FluffConfig;
use crate::core::errors::{SQLBaseError, SQLTemplaterError};
use crate::core::parser::segments::base::Segment;
use crate::core::templaters::base::TemplatedFile;
#[derive(Debug, PartialEq, Clone)]
pub struct RuleTuple {
code: String,
name: String,
description: String,
groups: Vec<String>,
aliases: Vec<String>,
}
#[derive(Debug, PartialEq, Clone)]
pub struct NoQaDirective {
line_no: u32,
rules: Option<Vec<String>>,
action: Option<String>,
}
#[derive(Debug, Clone)]
pub struct RenderedFile {
pub templated_file: TemplatedFile,
pub templater_violations: Vec<SQLTemplaterError>,
pub config: FluffConfig,
pub time_dict: HashMap<String, f64>,
pub(crate) f_name: String,
pub encoding: String,
pub source_str: String,
}
#[derive(Debug)]
pub struct ParsedString {
pub tree: Option<Box<dyn Segment + 'static>>,
pub violations: Vec<SQLBaseError>,
pub time_dict: HashMap<String, f64>,
pub templated_file: TemplatedFile,
pub config: FluffConfig,
pub f_name: String,
pub source_str: String,
}