/** * Built-in policies using the rule-based policy system. * * These policies provide semantic versioning guidance for API changes. */ import { type Policy } from './rule-builder'; /** * Standard semver policy for general API compatibility. * * Rules: * - Removals are always breaking (major) * - Required parameter additions are breaking (major) * - Type narrowing is breaking (major) * - Optionality changes are breaking (major) * - Optional additions are non-breaking (minor) * - Type widening is non-breaking (minor) * - Deprecations are patch-level * - Equivalent changes have no impact * * @alpha */ export declare const semverDefaultPolicy: Policy; /** * Policy for read-only/consumer APIs (covariant position). * * Optimized for consumers who READ from the API: * - Type widening is safe (more values to receive) * - Type narrowing is breaking (might not handle all values) * - Adding members is safe (more data available) * - Removing members is breaking (expected data missing) * * @alpha */ export declare const semverReadOnlyPolicy: Policy; /** * Policy for write-only/producer APIs (contravariant position). * * Optimized for producers who WRITE to the API: * - Type narrowing is safe (stricter requirements, existing code still valid) * - Type widening is breaking (must handle new value types) * - Removing optional members is safe (don't need to provide) * - Adding required members is breaking (must provide new values) * * @alpha */ export declare const semverWriteOnlyPolicy: Policy; //# sourceMappingURL=builtin-policies.d.ts.map