import type { FC, HTMLAttributes, ReactNode } from 'react'; /** * Props for the root component of the ConsentDialog. * * @public */ export interface ConsentDialogRootProps extends HTMLAttributes { /** * React children that will be rendered inside the dialog container. * Typically this includes `ConsentDialog.Card` and its sub-components. */ children: ReactNode; /** * Explicitly control the open state of the dialog. If omitted, the dialog * relies on the consent manager (`activeUI === 'dialog'`) value. */ open?: boolean; /** * Which consent models this dialog responds to. * @default ['opt-in', 'opt-out'] */ models?: import('c15t').Model[]; /** * When true, the component will not apply any internal styles. */ noStyle?: boolean; /** * Disable entrance / exit animations when true. */ disableAnimation?: boolean; /** * Lock body scroll while the dialog is open. Defaults to `true`. */ scrollLock?: boolean; /** * Trap focus within the dialog while it is open. Defaults to `true`. */ trapFocus?: boolean; /** * Custom backdrop element. Pass a React node to replace the built-in * semi-transparent overlay or pass `false` to render no backdrop at all. * * @default undefined (builtin overlay) */ overlay?: ReactNode | false; /** * Override the UI source identifier sent with consent API calls. * @default 'dialog' */ uiSource?: string; } /** * Provides theming context, focus-management and portal rendering for the * Consent Dialog. This component is also exposed as * `ConsentDialog.Root` to enable the compound-component usage: * * ```tsx * * * … * * * ``` */ declare const ConsentDialogRoot: FC; declare const Root: FC; export { ConsentDialogRoot, Root };