import * as plugins from '../plugins.js'; import type * as data from '../data/index.js'; import type { IIdentity, IIdentityCredential } from '../data/user.js'; import type { IHostedAppBootstrapAction, IHostedAppBootstrapActionRequest, IHostedAppLifecycleReport, IHostedAppLifecycleState, IHostedAppUpgradeState } from '../data/hostedapp.js'; export interface IReq_GetHostedAppAccessConfiguration extends plugins.typedrequestInterfaces.implementsTR { method: 'getHostedAppAccessConfiguration'; request: { identity: data.IIdentity; }; response: { users: Array<{ userId: string; username: string; role: 'admin' | 'user'; platformOidcIssuer?: string; }>; assignments: data.IHostedAppRoleAssignment[]; apps: Array<{ serviceId: string; appInstanceId: string; displayName: string; roles: data.IHostedAppRoleDefinition[]; platformOidcSupported: boolean; platformOidcRegistration?: data.IHostedAppPlatformOidcRegistration; }>; }; } export interface IReq_SetHostedAppRoleAssignment extends plugins.typedrequestInterfaces.implementsTR { method: 'setHostedAppRoleAssignment'; request: { identity: data.IIdentity; userId: string; appInstanceId: string; roleIds: string[]; }; response: { assignment: data.IHostedAppRoleAssignment | null; }; } export interface IReq_SetHostedAppPlatformOidc extends plugins.typedrequestInterfaces.implementsTR { method: 'setHostedAppPlatformOidc'; request: { identity: data.IIdentity; appInstanceId: string; enabled: boolean; }; response: { registration: data.IHostedAppPlatformOidcRegistration; }; } export interface IReq_GetHostedAppOidcAuthorization extends plugins.typedrequestInterfaces.implementsTR { method: 'getHostedAppOidcAuthorization'; request: { identity: data.IIdentity; requestId: string; }; response: { appInstanceId: string; appName: string; roleIds: string[]; expiresAt: number; }; } export interface IReq_CompleteHostedAppOidcAuthorization extends plugins.typedrequestInterfaces.implementsTR { method: 'completeHostedAppOidcAuthorization'; request: { identity: data.IIdentity; requestId: string; }; response: { redirectUrl: string; }; } export interface IReq_CancelHostedAppOidcAuthorization extends plugins.typedrequestInterfaces.implementsTR { method: 'cancelHostedAppOidcAuthorization'; request: { identity: data.IIdentity; requestId: string; }; response: { redirectUrl: string; }; } export interface IReq_HostedApp_ReportLifecycleState extends plugins.typedrequestInterfaces.implementsTR { method: 'hostedAppReportLifecycleState'; request: { identity: IIdentityCredential; report: IHostedAppLifecycleReport; }; response: { state: IHostedAppLifecycleState; }; } export interface IReq_HostedApp_GetLifecycleState extends plugins.typedrequestInterfaces.implementsTR { method: 'hostedAppGetLifecycleState'; request: { identity: IIdentityCredential; }; response: { state: IHostedAppLifecycleState; }; } export interface IReq_HostedApp_RequestBootstrapAction extends plugins.typedrequestInterfaces.implementsTR { method: 'hostedAppRequestBootstrapAction'; request: { identity: IIdentityCredential; action: IHostedAppBootstrapActionRequest; }; response: { action: IHostedAppBootstrapAction; state: IHostedAppLifecycleState; }; } export interface IReq_HostedApp_CompleteBootstrapAction extends plugins.typedrequestInterfaces.implementsTR { method: 'hostedAppCompleteBootstrapAction'; request: { identity: IIdentityCredential; actionId: string; expectedActionRevision: number; expectedActionStatus: 'ready'; message?: string; }; response: { state: IHostedAppLifecycleState; }; } export declare const validateHostedAppCompleteBootstrapActionRequest: (requestArg: unknown) => string[]; export interface IReq_HostedApp_StartManagedUpgrade extends plugins.typedrequestInterfaces.implementsTR { method: 'hostedAppStartManagedUpgrade'; request: { identity: IIdentityCredential; targetVersion?: string; }; response: { upgradeState: IHostedAppUpgradeState; state: IHostedAppLifecycleState; }; } export interface IReq_HostedApp_GetManagedUpgradeStatus extends plugins.typedrequestInterfaces.implementsTR { method: 'hostedAppGetManagedUpgradeStatus'; request: { identity: IIdentityCredential; }; response: { upgradeState: IHostedAppUpgradeState; }; } export interface IReq_Admin_GetHostedAppParentUpgradeStatus extends plugins.typedrequestInterfaces.implementsTR { method: 'getHostedAppParentUpgradeStatus'; request: { identity: IIdentity; }; response: { isHosted: boolean; unavailableReason?: string; upgradeState: IHostedAppUpgradeState; }; } export interface IReq_Admin_StartHostedAppParentUpgrade extends plugins.typedrequestInterfaces.implementsTR { method: 'startHostedAppParentUpgrade'; request: { identity: IIdentity; targetVersion?: string; }; response: { isHosted: boolean; unavailableReason?: string; upgradeState: IHostedAppUpgradeState; }; }