import { BaseService, ValidatedResponse } from '@txstate-mws/graphql-server'; import { DosGatoService, type Data, type DataFolder, DataRule, type CreateDataRuleInput, type UpdateDataRuleInput, type DataRuleFilter, DataRuleResponse } from '../internal.js'; export declare class DataRuleServiceInternal extends BaseService { findById(ruleId: string): Promise; findByRoleId(roleId: string, filter?: DataRuleFilter): Promise; findBySiteId(siteId: string): Promise; findByTemplateId(templateId?: string): Promise; findByDataEntry(data: Data): Promise; findByDataFolder(folder: DataFolder): Promise; } export declare class DataRuleService extends DosGatoService { raw: DataRuleServiceInternal; findById(ruleId: string): Promise; findByRoleId(roleId: string, filter?: DataRuleFilter): Promise; findBySiteId(siteId: string): Promise; findByDataEntry(data: Data): Promise; findByDataFolder(folder: DataFolder): Promise; create(args: CreateDataRuleInput, validateOnly?: boolean): Promise; update(args: UpdateDataRuleInput, validateOnly?: boolean): Promise; delete(ruleId: string): Promise; static applies(rule: DataRule, itemOrFolder: Data | DataFolder, pathWithoutSite: string): boolean; static appliesRaw(r: DataRule, templateId: string, pathWithoutSite: string, siteId?: string): boolean; static appliesToSiteAndTemplate(r: DataRule, item: Data | DataFolder): boolean; static appliesToPath(r: DataRule, dataPathWithoutSite: string): boolean; appliesToFolder(rule: DataRule, folder: DataFolder): Promise; asOrMorePowerful(ruleA: DataRule, ruleB: DataRule): boolean; tooPowerful(rule: DataRule): boolean; mayWrite(rule: DataRule): Promise; mayView(rule: DataRule): boolean; }