import { ValueObject } from '../shared/ValueObject'; /** * Contract Prop Entity * Represents a property definition for a contract */ export declare class ContractProp extends ValueObject { readonly name: string; readonly type: string; readonly required: boolean; readonly defaultValue?: any | undefined; readonly description?: string | undefined; readonly validation?: Record | undefined; constructor(name: string, type: string, required: boolean, defaultValue?: any | undefined, description?: string | undefined, validation?: Record | undefined); /** * Creates a ContractProp */ static create(params: { name: string; type: string; required?: boolean; defaultValue?: any; description?: string; validation?: Record; }): ContractProp; /** * Validates the prop */ private validate; /** * Validates a value against the property rules * @param value The value to validate * @returns Array of error messages, or empty array if valid */ validateValue(value: any): string[]; /** * Checks if the prop has a default value */ hasDefaultValue(): boolean; /** * Gets the default value */ getDefaultValue(): any; protected getEqualityProperties(): any[]; toString(): string; } //# sourceMappingURL=ContractProp.d.ts.map