import { FieldRuleReference, Rule, RuleCondition, RuleStringConditions } from "../types.js"; type EditableTypes = "always" | "creationOnly" | "modificationOnly" | "never"; export type BasicField = { name: string; isOptional: boolean; _buildRules(resource: string): RuleStringConditions; }; type Append = Field; export declare class Field implements BasicField { #private; readonly name: string; isOptional: boolean; rules: Rule[]; constructor(name: string, editable?: EditableTypes); optional(): Append; _transposeRuleResource(resourcePath: string, fieldRuleResource: FieldRuleReference | string): string; _transposeCondition(resourcePath: string, condition: RuleCondition): string; _transposeRule(resourcePath: string, rule: Rule): RuleStringConditions; _buildRules(resource: string): RuleStringConditions; } export {};