/** * @typedef {object} DisclaimerServiceConfig * @property {object} args Object containing arguments that will be passed to all disclaimers when resolving their condition. * @property {object} disclaimers Object containing disclaimers to be resolved. */ /** * @typedef {object} DisclaimerService * @param {function():undefined} initialize Initialize the service and resolve disclaimers. * @param {function():object} getDisclaimer Get the disclaimer. Returns undefined if service has not been initialized or if no disclaimer was resolved. * @param {function():boolean} getHasSuppressingDisclaimer Returns if the resolve disclaimer is suppressing or not. */ /** * Creates a disclaimer-service.default * * @param {object} args Arguments object. * @param {object} [args.layout] Layout object. * @param {DisclaimerServiceConfig} [args.config] Disclaimer-service config object. * * @returns {DisclaimerService} The created disclaimer-service. * * @example * * const service = createDisclaimerService({ * config, * }); * * service.initialize(); * * const disclaimer = service.getDisclaimer(); */ export default function createDisclaimerService({ layout, config }: { layout?: object | undefined; config?: DisclaimerServiceConfig | undefined; }): DisclaimerService; export type DisclaimerServiceConfig = { /** * Object containing arguments that will be passed to all disclaimers when resolving their condition. */ args: object; /** * Object containing disclaimers to be resolved. */ disclaimers: object; }; export type DisclaimerService = object;