import type { NormalizedSuperJsonDocument, SecurityValues, SuperJsonDocument } from '@superfaceai/ast'; import type { AuthCache, Config, IBoundProfileProvider, IConfig, ICrypto, IFetch, ILogger, Interceptable, ISuperfaceClient, ITimers, Profile, Provider } from '../../core'; import { Events, InternalClient } from '../../core'; import type { ISandbox } from '../../interfaces/sandbox'; import { SuperCache } from '../../lib'; export declare abstract class SuperfaceClientBase { readonly superJson: NormalizedSuperJsonDocument | undefined; protected readonly events: Events; protected readonly internal: InternalClient; protected readonly boundProfileProviderCache: SuperCache<{ provider: IBoundProfileProvider; expiresAt: number; }>; protected readonly config: Config; protected readonly sandbox: ISandbox; protected readonly timers: ITimers; protected readonly crypto: ICrypto; protected readonly fetchInstance: IFetch & Interceptable & AuthCache; protected readonly logger?: ILogger; constructor(options?: { superJson?: SuperJsonDocument; debug?: boolean; /** * Flag that can be used to disable caching to filesystem. `true` by default. */ cache?: boolean; } & Partial>); /** Gets a provider based on passed parameters or fallbacks to super.json information. */ getProvider(providerName: string, options?: { parameters?: Record; security?: SecurityValues[] | { [id: string]: Omit; }; }): Promise; /** Returns a provider configuration for when no provider is passed to untyped `.perform`. */ getProviderForProfile(profileId: string): Promise; on(...args: Parameters): void; } export declare class SuperfaceClient extends SuperfaceClientBase implements ISuperfaceClient { /** Gets a profile from super.json or remote registry based on `profile`. `profile` can be string in format: `[scope/]name@profileVersion` or object with `id` and optional `version` . */ getProfile(profile: string | { id: string; version?: string; }): Promise; }