# RtkDialogManager

Manages and renders modal dialogs for leave confirmation, settings, join stage confirmation, and permissions messages.

## Properties

| Property           | Type                           | Required | Default           | Description                      |
| ------------------ | ------------------------------ | -------- | ----------------- | -------------------------------- |
| `meeting`          | `RealtimeKitClient`            | ✅       | -                 | The RealtimeKit meeting instance |
| `config`           | `UIConfig`                     | ❌       | `defaultConfig`   | UI configuration object          |
| `iconPack`         | `IconPack`                     | ❌       | `defaultIconPack` | Custom icon pack                 |
| `size`             | `'lg' \| 'md' \| 'sm' \| 'xl'` | ❌       | -                 | Size variant                     |
| `states`           | `States`                       | ❌       | -                 | UI state object                  |
| `t`                | `RtkI18n`                      | ❌       | -                 | i18n translation function        |
| `onRtkStateUpdate` | `(e) => void`                  | ❌       | `() => \{\}`      | Callback when UI state changes   |

## Usage Examples

### Basic Usage

```tsx
import { RtkDialogManager } from "@cloudflare/realtimekit-react-native-ui";

function MyComponent() {
	return <RtkDialogManager meeting={meeting} />;
}
```

### With Properties

```tsx
import { RtkDialogManager } from "@cloudflare/realtimekit-react-native-ui";

function MyComponent() {
	return (
		<RtkDialogManager
			meeting={meeting}
			config={customConfig}
			size="md"
			onRtkStateUpdate={(e) => handleStateUpdate(e)}
		/>
	);
}
```