import type { ConsentStoreState } from '../../store/type'; /** * Creates an iframe manager that integrates with the main consent store. * * @remarks * The returned methods are intended to be spread into the * {@link ConsentStoreState} and provide iframe-blocking behavior based on * the current consent preferences. * * @param get - The store's `getState` method * @param _set - The store's `setState` method (currently unused) * @returns An object with iframe management methods to be merged into the * store * * @internal */ export declare function createIframeManager(get: () => ConsentStoreState, _set: (partial: Partial) => void): { /** * Initializes the iframe blocker and starts monitoring iframes. * * @remarks * - No-ops in non-browser environments (when `document` is undefined) * - Respects `iframeBlockerConfig.disableAutomaticBlocking` * - Discovers consent categories from iframes and updates * `consentCategories` via {@link ConsentStoreState.updateConsentCategories} * * Safe to call multiple times; initialization runs only once per * page lifecycle. */ initializeIframeBlocker: () => void; /** * Updates iframe consent state and reprocesses all iframes. * * @remarks * Re-applies blocking rules to all known iframes using the current * consent state. This is a no-op when: * - The blocker has not been initialized * - Running in a non-browser environment * - Automatic blocking is disabled */ updateIframeConsents: () => void; /** * Destroys the iframe blocker and cleans up the observer. * * @remarks * Disconnects the underlying `MutationObserver` and marks the * iframe manager as uninitialized. Safe to call multiple times. * No-ops in non-browser environments or when automatic blocking is * disabled. */ destroyIframeBlocker: () => void; };