import type { ProfileEntry, ProfileProviderEntry, ProviderEntry, SecurityValues, SuperJsonDocument, UsecaseDefaults } from '@superfaceai/ast'; import type { IEnvironment, IFileSystem, ILogger } from '../../interfaces'; import type { Result, SDKExecutionError } from '../../lib'; /** Merges profile defaults into the document or creates the profile if it doesn't exist. */ export declare function mergeProfileDefaults(document: SuperJsonDocument, profileName: string, payload: UsecaseDefaults): boolean; /** Merges profile into the document or creates it if it doesn't exist. */ export declare function mergeProfile(document: SuperJsonDocument, profileName: string, payload: ProfileEntry, filesystem: IFileSystem, environment?: IEnvironment, logger?: ILogger): boolean; /** Sets profile of the document to payload or deletes it. */ export declare function setProfile(document: SuperJsonDocument, profileName: string, payload: ProfileEntry | undefined, environment: IEnvironment, filesystem: IFileSystem, logger?: ILogger): boolean; /** Merges profile provider into the document or creates the profile and providers object if it doesn't exist. */ export declare function mergeProfileProvider(document: SuperJsonDocument, profileName: string, providerName: string, payload: ProfileProviderEntry, fileSystem: IFileSystem, environment?: IEnvironment, logger?: ILogger): boolean; /** Sets profile provider of the document to payload or deletes it. */ export declare function setProfileProvider(document: SuperJsonDocument, profileName: string, providerName: string, payload: ProfileProviderEntry | undefined, filesystem: IFileSystem, environment?: IEnvironment, logger?: ILogger): boolean; export declare function swapProfileProviderVariant(document: SuperJsonDocument, profileName: string, providerName: string, variant: { kind: 'local'; file: string; } | { kind: 'remote'; mapVariant?: string; mapRevision?: string; }, filesystem: IFileSystem, environment?: IEnvironment, logger?: ILogger): boolean; /** Merges provider into the document or creates it if it doesn't exist. */ export declare function mergeProvider(document: SuperJsonDocument, providerName: string, payload: ProviderEntry, filesystem: IFileSystem): boolean; /** Sets provider of the document to payload or deletes it. */ export declare function setProvider(document: SuperJsonDocument, providerName: string, payload: ProviderEntry | undefined, filesystem: IFileSystem): boolean; export declare function swapProviderVariant(document: SuperJsonDocument, providerName: string, variant: { kind: 'local'; file: string; } | { kind: 'remote'; }, filesystem: IFileSystem): boolean; export declare function mergeSecurity(left: SecurityValues[], right: SecurityValues[]): SecurityValues[]; /** Sets priority array to the new values. */ export declare function setPriority(document: SuperJsonDocument, profileName: string, providersSortedByPriority: string[] | undefined, environment: IEnvironment, logger?: ILogger): Result;