import * as React from 'react'; import { WidgetRootDomProps } from './utils.js'; import { DirectoryType, DirectoryMetadata, DirectoryState } from '../api/endpoint.js'; import './elements.js'; import '@radix-ui/themes'; import '@radix-ui/themes/props'; import '../dialog-CGXwsXVe.js'; import '@radix-ui/themes/components/dialog'; import '../alert-dialog-BMbVcJfZ.js'; import '@radix-ui/themes/components/alert-dialog'; import '../dropdown-menu-BQ5LtvdR.js'; import '@radix-ui/themes/components/dropdown-menu'; import '../select-KR89Qnvm.js'; import '@radix-ui/themes/components/select'; import '@tanstack/react-query'; import '../api/widgets-api-client.js'; interface BaseDirectorySyncProps { type?: DirectoryType; metadata?: DirectoryMetadata; lastSyncAt?: string | null; link?: string | null; errorMessage?: never; userCount?: never; groupCount?: never; currentDate?: never; state: DirectoryState; } interface NotConfiguredProps extends BaseDirectorySyncProps { state: (typeof DirectoryState)["unlinked"]; } interface SetupInProgressProps extends Omit { state: (typeof DirectoryState)["validating"]; type: DirectoryType; } interface ErrorBeforeConfigProps extends Omit { state: DirectoryState; type: DirectoryType; errorMessage: React.ReactNode; } interface ValidatingProps extends Omit { state: (typeof DirectoryState)["validating"]; type: DirectoryType; } interface ActiveProps extends Omit { state: (typeof DirectoryState)["linked"]; type: DirectoryType; lastSyncAt: string | null; currentDate?: Date | null; errorMessage?: React.ReactNode; } interface InvalidCredentialsProps extends Omit { state: (typeof DirectoryState)["invalid_credentials"]; type: DirectoryType; errorMessage: React.ReactNode; } interface DeletingProps extends Omit { state: (typeof DirectoryState)["deleting"]; type: DirectoryType; } type DirectorySyncStatusProps = NotConfiguredProps | SetupInProgressProps | ErrorBeforeConfigProps | ValidatingProps | ActiveProps | InvalidCredentialsProps | DeletingProps; type DirectorySyncProps = WidgetRootDomProps & DirectorySyncStatusProps; declare const DirectorySync: React.FC; interface DirectorySyncLoadingProps extends WidgetRootDomProps { } declare const DirectorySyncLoading: React.FC; interface DirectorySyncErrorProps extends WidgetRootDomProps { error: unknown; } declare const DirectorySyncError: React.FC; export { DirectorySync, DirectorySyncError, type DirectorySyncErrorProps, DirectorySyncLoading, type DirectorySyncLoadingProps, type DirectorySyncProps, type DirectorySyncStatusProps };