import { IdObjectSkeletonInterface } from '../../api/ApiTypes'; import { State } from '../../shared/State'; import { JwksInterface } from '../JoseOps'; export type ServiceAccount = { /** * Check if service accounts are available * @returns {Promise} true if service accounts are available, false otherwise */ isServiceAccountsFeatureAvailable(): Promise; /** * Create service account * @param {string} name Human-readable name of service account * @param {string} description Description of service account * @param {'Active' | 'Inactive'} accountStatus Service account status * @param {string[]} scopes Scopes. * @param {JwksInterface} jwks Java Web Key Set * @returns {Promise} A promise resolving to a service account object */ createServiceAccount(name: string, description: string, accountStatus: 'active' | 'inactive', scopes: string[], jwks: JwksInterface): Promise; /** * Get service account * @param {string} serviceAccountId service account id * @returns {Promise} a promise resolving to a service account object */ getServiceAccount(serviceAccountId: string): Promise; }; declare const _default: (state: State) => ServiceAccount; export default _default; export declare const SERVICE_ACCOUNT_ALLOWED_SCOPES: string[]; export declare const SERVICE_ACCOUNT_DEFAULT_SCOPES: string[]; export type ServiceAccountType = IdObjectSkeletonInterface & { name: string; description: string; accountStatus: 'active' | 'inactive'; scopes: string[]; jwks: string; }; /** * Check if service accounts are available * @returns {Promise} true if service accounts are available, false otherwise */ export declare function isServiceAccountsFeatureAvailable({ state, }: { state: State; }): Promise; /** * Create service account * @param {string} name Human-readable name of service account * @param {string} description Description of service account * @param {'active' | 'inactive'} accountStatus Service account status * @param {string[]} scopes Scopes. * @param {JwksInterface} jwks Java Web Key Set * @param {State} state library state * @returns {Promise} A promise resolving to a service account object */ export declare function createServiceAccount({ name, description, accountStatus, scopes, jwks, state, }: { name: string; description: string; accountStatus: 'active' | 'inactive'; scopes: string[]; jwks: JwksInterface; state: State; }): Promise; /** * Get service account * @param {string} serviceAccountId service account id * @param {State} state library state * @returns {Promise} a promise resolving to a service account object */ export declare function getServiceAccount({ serviceAccountId, state, }: { serviceAccountId: string; state: State; }): Promise; //# sourceMappingURL=ServiceAccountOps.d.ts.map