import * as react_jsx_runtime from 'react/jsx-runtime'; import React__default from 'react'; type LoginPageLogoLocation = 'bottom' | 'middle' | 'top'; interface LoginPageBackgroundConfig { imageUrl?: string; gradient?: string; } interface LoginPageLogoConfig { /** * Fallback logo URL used for both color modes. */ url?: string; /** * Logo URL for light mode. Falls back to url when empty. */ lightUrl?: string; /** * Logo URL for dark mode. Falls back to url or lightUrl when empty. */ darkUrl?: string; alt?: string; position?: LoginPageLogoLocation; scale?: number; } interface LoginPageFieldConfig { id?: string; name: string; type?: React__default.HTMLInputTypeAttribute; value: string; placeholder?: string; autoComplete?: string; inputMode?: React__default.HTMLAttributes['inputMode']; maxLength?: number; pattern?: string; required?: boolean; disabled?: boolean; onChange: (value: string) => void; } interface LoginPageCheckboxConfig { id: string; label: React__default.ReactNode; checked: boolean; disabled?: boolean; onChange: (checked: boolean) => void; } interface LoginPageMethodConfig { id: string; label: React__default.ReactNode; icon?: React__default.ReactNode; fields: LoginPageFieldConfig[]; submitLabel: React__default.ReactNode; loadingLabel?: React__default.ReactNode; isLoading?: boolean; disabled?: boolean; hidden?: boolean; checkbox?: LoginPageCheckboxConfig; footer?: React__default.ReactNode; footerAction?: { label: React__default.ReactNode; disabled?: boolean; onClick: () => void; }; onSubmit: (event: React__default.FormEvent) => void; } interface LoginPageExternalMethodConfig { id: string; label: React__default.ReactNode; providerType?: 'dingtalk' | 'feishu' | 'oidc' | 'wework' | string; icon?: React__default.ReactNode; disabled?: boolean; onClick?: () => void; render?: (button: React__default.ReactElement) => React__default.ReactNode; } interface LoginPageCalloutConfig { tone?: 'danger' | 'info' | 'success' | 'warning'; title: React__default.ReactNode; description?: React__default.ReactNode; detail?: React__default.ReactNode; action?: { label: React__default.ReactNode; disabled?: boolean; onClick: () => void; }; } interface LoginPageExternalPanelConfig { title?: React__default.ReactNode; description?: React__default.ReactNode; content: React__default.ReactNode; footer?: React__default.ReactNode; backAction?: { label: React__default.ReactNode; onClick: () => void; }; } interface LoginPageProps { className?: string; style?: React__default.CSSProperties; background?: LoginPageBackgroundConfig; logo?: LoginPageLogoConfig; toolbar?: React__default.ReactNode; title?: React__default.ReactNode; backAction?: { label: React__default.ReactNode; icon?: React__default.ReactNode; onClick: () => void; }; methods: LoginPageMethodConfig[]; activeMethodId?: string; defaultMethodId?: string; onMethodChange?: (methodId: string) => void; externalLabel?: React__default.ReactNode; externalMethods?: LoginPageExternalMethodConfig[]; externalPanel?: LoginPageExternalPanelConfig; callout?: LoginPageCalloutConfig; } declare function LoginPage({ className, style, background, logo, toolbar, title, backAction, methods, activeMethodId, defaultMethodId, onMethodChange, externalLabel, externalMethods, externalPanel, callout, }: LoginPageProps): react_jsx_runtime.JSX.Element; export { LoginPage, type LoginPageBackgroundConfig, type LoginPageCalloutConfig, type LoginPageCheckboxConfig, type LoginPageExternalMethodConfig, type LoginPageExternalPanelConfig, type LoginPageFieldConfig, type LoginPageLogoConfig, type LoginPageLogoLocation, type LoginPageMethodConfig, type LoginPageProps };