import { ComponentMetaspaceScope } from "../../component-types.mjs"; import { IbGibAddr } from "@ibgib/ts-gib/dist/types.mjs"; import { IbGib_V1 } from "@ibgib/ts-gib/dist/V1/types.mjs"; import { IbGibDynamicComponentMetaBase, IbGibFormInstanceBase } from "../../ibgib-dynamic-component-bases.mjs"; import { ElementsBase, IbGibDynamicComponentInstance, IbGibDynamicComponentInstanceInitOpts } from "../../component-types.mjs"; export declare const KEYSTONE_CREATOR_COMPONENT_NAME = "ibgib-keystone-creator"; /** * Metadata for the Keystone Creator component. */ export declare class KeystoneCreatorComponentMeta extends IbGibDynamicComponentMetaBase { protected lc: string; routeRegExp?: RegExp; componentName: string; constructor(); createInstance({ path, ibGibAddr }: { path: string; ibGibAddr: IbGibAddr; }): Promise; } /** * References to DOM elements within the component's shadow root. */ interface KeystoneCreatorElements extends ElementsBase { containerEl: HTMLDivElement; titleEl: HTMLHeadingElement; btnGenerateEl: HTMLButtonElement; resultAreaEl: HTMLDivElement; keystoneAddrEl: HTMLElement; inputUsername: HTMLInputElement; inputSiteUsername: HTMLInputElement; badgeSiteUsername: HTMLSpanElement; msgSiteUsername: HTMLParagraphElement; groupExceptionKey: HTMLDivElement; inputExceptionKey: HTMLInputElement; linkRequestException: HTMLAnchorElement; groupDescription: HTMLDivElement; inputDescription: HTMLInputElement; groupEmail: HTMLDivElement; inputEmail: HTMLInputElement; inputSecret: HTMLInputElement; checkboxMakeActive: HTMLInputElement; btnGoogleSso: HTMLButtonElement; btnGithubSso: HTMLButtonElement; inputQuickEmail: HTMLInputElement; btnQuickSendCode: HTMLButtonElement; secQuickOtp: HTMLDivElement; inputQuickOtp: HTMLInputElement; btnQuickVerifyCode: HTMLButtonElement; btnQuickResendCode: HTMLButtonElement; inputPasskeyName: HTMLInputElement; selectPasskeyAttachment: HTMLSelectElement; checkboxPasskeyMakeActive: HTMLInputElement; btnGeneratePasskey: HTMLButtonElement; statusArea: HTMLDivElement; statusText: HTMLParagraphElement; modalExceptionRequest: HTMLDivElement; btnCloseModalException: HTMLButtonElement; btnCancelExceptionRequest: HTMLButtonElement; formExceptionRequest: HTMLFormElement; inputReqSiteUsername: HTMLInputElement; inputReqApplicantName: HTMLInputElement; inputReqEmail: HTMLInputElement; inputReqProjectTitle: HTMLInputElement; inputReqReason: HTMLTextAreaElement; inputReqProfileUrl: HTMLInputElement; statusExceptionRequest: HTMLDivElement; btnSubmitExceptionRequest: HTMLButtonElement; } /** * Concrete implementation of the Keystone Creator component. */ export declare class KeystoneCreatorComponentInstance extends IbGibFormInstanceBase implements IbGibDynamicComponentInstance { /** Identity is device-scoped and mode-agnostic: always use the persistent metaspace. */ protected metaspaceScope: ComponentMetaspaceScope; protected lc: string; private hasExistingIdentities; private resendCooldownInterval; private userEditedSiteUsername; private siteUsernameDebounceTimer; private email; constructor(); initialize(opts: IbGibDynamicComponentInstanceInitOpts): Promise; disconnected(): Promise; private startResendCooldownTimer; created(): Promise; private checkExistingIdentities; private initHandlers; private triggerSiteUsernameCheck; private checkSiteUsernameAvailability; private setButtonLoading; /** * Triggered by Google / GitHub SSO buttons. * Opens OAuth popup, exchanges authorization code, builds local delegate keystone, * registers delegate on server, and finalizes onboarding. */ private handleSsoClick; /** * Triggered by the "Send 6-Digit Verification Code" button. * Validates quick email input and dispatches a 6-digit OTP code to the user's inbox. */ private handleQuickSendCode; /** * Triggered by the "Resend Code" button in the quick email panel. */ private handleQuickResendCode; /** * Triggered by the "Verify Code" button. * Submits 6-digit OTP code to custodian server, builds local sync delegate keystone, * registers delegate on server, and finalizes onboarding. */ private handleQuickVerifyCode; /** * Triggered by the "Create Identity with Passkey / Biometrics" button. * Orchestrates: WebAuthn Credential -> PRF Secret Evaluation -> Local Passkey Genesis -> Graph Collection -> Server Sync. */ private handleGeneratePasskey; /** * Triggered by the "Generate" button. * Orchestrates: Secret -> Local Genesis -> Graph Collection -> Server Sync. */ private handleGenerate; /** * DRY helper to register keystones in the local keystones special index, * set the active identity, and navigate to the Identity Manager component. */ private finalizeIdentityOnboarding; private setFormDisabled; protected renderUI(): Promise; handleContextUpdated(): Promise; } export {}; //# sourceMappingURL=keystone-creator.d.mts.map