import { Logger } from 'pino'; import { IPermitConfig } from '../config'; import { EmbeddedLoginRequestOutput } from '../openapi'; export interface EmbeddedLoginRequestOutputWithContent extends EmbeddedLoginRequestOutput { content?: any; } export interface IPermitElementsApi { loginAs({ userId, tenantId }: loginAsSchema): Promise; } export declare enum ElementsApiErrors { USER_NOT_FOUND = "User not found", TENANT_NOT_FOUND = "Tenant not found", INVALID_PERMISSION_LEVEL = "Invalid user permission level", FORBIDDEN_ACCESS = "Forbidden access" } export interface IElementsApiClient { elements: IPermitElementsApi; } export interface loginAsSchema { userId: string; tenantId: string; } export declare class ElementsClient implements IElementsApiClient { private config; private logger; private authApi; constructor(config: IPermitConfig, logger: Logger); loginAs({ userId, tenantId, }: loginAsSchema): Promise; get elements(): IPermitElementsApi; getMethods(): IElementsApiClient; }