export interface ErrorApiResult { requestId: string; errors: { type: string; code?: string; message: string; }[]; } export interface SuccessApiResult { requestId: string; data: Data; } export declare type CheckTeamDeviceInitializationParams = { keyUuid: string | null; }; export declare type CheckTeamDeviceInitializationResult = SuccessApiResult; export declare type GetUserSSOInfoParameters = { login: string; userServiceProviderKey: string; }; export declare type GetUserSSOInfoResult = SuccessApiResult<{ exists: boolean; ssoToken: string; activated: boolean; userServiceProviderKey: string; currentAuthenticationMethods: string[]; expectedAuthenticationMethods: string[]; }>; export declare type ReportErrorParameters = { name: string; message: string; additionalInfo?: string; }; export declare type ReportErrorResult = SuccessApiResult; export declare type GetUsersParameters = { filter?: string; sortBy?: string; sortOrder?: string; }; export declare type GetUserObjectParameters = { id: string; }; export declare type PatchUserOperation = { op: 'add' | 'remove' | 'replace'; path?: string; value: string; }; export declare type PatchUserParameters = { schemas: string[]; id: string; operations: PatchUserOperation[]; }; export declare type DeleteUserObjectParameters = { id: string; }; export declare type GetUserObjectResult = SuccessApiResult<{ schemas: string[]; userName: string; active: boolean; id: string; externalId: string; name?: { formatted?: string; givenName?: string; middleName?: string; familyName?: string; }; title?: string; groups?: string[]; meta: { resourceType: string; created: string; lastModified: string; }; }>; export declare type ScimUserQueryResponse = { schemas: string[]; Resources: GetUserObjectParameters[]; totalResults: number; }; export declare type GetUsersResult = SuccessApiResult; export declare type DeleteUserResult = SuccessApiResult; export interface TeamDeviceApi { checkTeamDeviceInitialization: (params: CheckTeamDeviceInitializationParams) => Promise>; getUserSSOInfo: (params: GetUserSSOInfoParameters) => Promise; reportError: (params: ReportErrorParameters) => Promise; postUsers: (params: PostUsersParameters) => Promise; getUsers: (params: GetUsersParameters) => Promise; getUserObject: (params: GetUserObjectParameters) => Promise; patchUser: (params: PatchUserParameters) => Promise; deleteUser: (params: DeleteUserObjectParameters) => Promise; } export declare type GenerateAndSignScimIdResult = { scimId: string; uuidLoginSignature: string; }; export declare type PostUsersResult = GetUserObjectResult; export declare type PostUsersParameters = { id: string; uuidLoginSignature: string; schemas: string[]; userName: string; externalId: string; name?: { formatted?: string; givenName?: string; middleName?: string; familyName?: string; }; title?: string; }; export declare type RegisterTeamDeviceParameters = { platform: 'sso_connector'; deviceName: string; }; export declare type RegisterTeamDeviceResult = SuccessApiResult<{ teamUuid: string; deviceSecretKey: string; deviceAccessKey: string; }>; export interface UserDeviceApi { registerTeamDevice: (params: RegisterTeamDeviceParameters) => Promise; } export declare type TeamDeviceAuthentication = { type: 'teamDevice'; teamUuid: string; accessKey: string; secretKey: string; appAccessKey: string; appSecretKey: string; }; export declare type UserDeviceAuthentication = { type: 'userDevice'; login: string; accessKey: string; secretKey: string; appAccessKey: string; appSecretKey: string; }; export declare type AppAutentication = { type: 'app'; appAccessKey: string; appSecretKey: string; }; export declare type Authentication = TeamDeviceAuthentication | UserDeviceAuthentication | AppAutentication; export declare type AuthenticationType = Authentication['type']; export interface ApiConfig { hostname: string; port: number; authentication: Auth; httpProxy?: { hostname: string | null; port: string | null; protocol: string | null; auth: string | null; }; userAgent: string; }