import type { PropsLocale } from '@deepseek-ai/dsh-client-ui-slots'; import type { ArkmeAuthSnapshot } from '../types.js'; import { type ArkmeAuthFlowController } from './arkme-auth-flow.js'; import { ARKME_LOGIN_LOCALE_NAMESPACE, type ArkmeLoginTranslate } from './arkme-login-locales.js'; declare global { interface Window { readonly arkmeDesktop?: Readonly<{ startupAuthGate?: boolean; notifyHarnessReady?: () => void; }>; } } export type ArkmeStartupGateScreen = 'checking' | 'login' | 'error' | 'authenticated'; interface DesktopCapabilityScope { arkmeDesktop?: { startupAuthGate?: boolean; }; } interface InertableElement { inert: boolean; parentElement: InertableElement | null; readonly children: ArrayLike; getAttribute(name: string): string | null; hasAttribute(name: string): boolean; removeAttribute(name: string): void; setAttribute(name: string, value: string): void; } export declare function startupAuthGateEnabled(scope?: DesktopCapabilityScope): boolean; export declare function startupAuthGateScreen(auth: ArkmeAuthSnapshot | undefined, error: string, loginRequested?: boolean): ArkmeStartupGateScreen; export declare function enterStartupLogin(login: Pick, requestLogin: () => void): void; /** Close any Host-owned modal before its AppFrame branch becomes inert. */ export declare function syncAuthGateHostDialogs(wasActive: boolean, screen: ArkmeStartupGateScreen, eventTarget: Pick): boolean; /** Make AppFrame content inaccessible while preserving every pre-existing attribute for cleanup. */ export declare function inertArkmeAppFrameSiblings(overlayLayer: InertableElement): () => void; export declare function ArkmeStartupAuthGateView({ screen, error, busy, onRetry, onLogin, flow, t, }: { screen: ArkmeStartupGateScreen; error: string; busy: boolean; onRetry(): void; onLogin?(): void; flow?: ArkmeAuthFlowController; t?: ArkmeLoginTranslate; }): import("react").JSX.Element | null; export type ArkmeStartupAuthGateProps = PropsLocale; export declare function ArkmeStartupAuthGate({ t }: ArkmeStartupAuthGateProps): import("react").JSX.Element | null; export {}; //# sourceMappingURL=ArkmeStartupAuthGate.d.ts.map