import { type FC } from 'react'; import { type ConsentDialogTriggerProps } from '../consent-dialog-trigger'; /** * Props for the IABConsentDialog component. * @public */ export interface IABConsentDialogProps { /** * Control the open state. If omitted, follows activeUI === 'dialog' from context. */ open?: boolean; /** * When true, removes all default styling. * @default false */ noStyle?: boolean; /** * When true, disables entrance/exit animations. * @default false */ disableAnimation?: boolean; /** * When true, locks page scroll when the dialog is visible. * @default true */ scrollLock?: boolean; /** * When true, traps keyboard focus within the dialog. * @default true */ trapFocus?: boolean; /** * When true, hides the branding in the footer. * @default false */ hideBranding?: boolean; /** * Show a floating trigger button to resurface the consent dialog. * IAB TCF requires the consent dialog to be easily resurfaceable. * * - `true` - Show trigger with default settings * - `false` - Hide trigger (default) * - `ConsentDialogTriggerProps` - Show trigger with custom props * * @default false */ showTrigger?: boolean | ConsentDialogTriggerProps; /** * Which consent models this dialog responds to. * @default ['iab'] */ models?: import('c15t').Model[]; /** * Override the UI source identifier sent with consent API calls. * @default 'iab_dialog' */ uiSource?: string; } /** * IAB TCF 2.3 compliant consent dialog dialog. * * @remarks * This component implements the required IAB TCF 2.3 UI elements: * - Tabbed interface for Purposes and Vendors * - Purpose grouping with stacks * - Individual purpose and vendor consent toggles * - Special purposes and features * - Legitimate interest handling * * @public */ export declare const IABConsentDialog: FC;