import { Data, Encodeable, EncodeContext, PlainObject } from '@simonbackx/simple-encoding'; import { AuditLogReplacement } from '../AuditLogReplacement.js'; import { Filterable } from '../members/records/RecordCategory.js'; import { StamhoofdFilter } from './StamhoofdFilter.js'; export declare class PropertyFilter implements Encodeable { constructor(enabledWhen: StamhoofdFilter | null, requiredWhen: StamhoofdFilter | null); static createDefault(): PropertyFilter; /** * Enabled when... * null = always enabled */ enabledWhen: StamhoofdFilter | null; /** * If enabled, whether it is required * null = always skippable * empty filter = always required */ requiredWhen: StamhoofdFilter | null; isEnabled(object: Filterable): boolean; get isAlwaysEnabledAndRequired(): boolean; isRequired(object: Filterable): boolean; encode(context: EncodeContext): PlainObject; static decode(data: Data): PropertyFilter; clone(): PropertyFilter; getDiffValue(): AuditLogReplacement; merge(other: PropertyFilter): PropertyFilter; } //# sourceMappingURL=PropertyFilter.d.ts.map