import { Duration } from '@salesforce/kit'; import { JsonMap } from '@salesforce/ts-types'; import { ScratchOrgInfo, ObjectSetting } from './scratchOrgTypes'; import { Org } from './org'; export declare enum RequestStatus { Pending = "Pending", InProgress = "InProgress", Succeeded = "Succeeded", SucceededPartial = "SucceededPartial", Failed = "Failed", Canceling = "Canceling", Canceled = "Canceled" } export type SettingType = { members: string[]; name: 'CustomObject' | 'RecordType' | 'BusinessProcess' | 'Settings'; }; export type PackageFile = { '@': { xmlns: string; }; types: SettingType[]; version: string; }; export declare const createObjectFileContent: ({ allRecordTypes, allBusinessProcesses, apiVersion, settingData, objectSettingsData, }: { allRecordTypes?: string[]; allBusinessProcesses?: string[]; apiVersion: string; settingData?: Record; objectSettingsData?: { [objectName: string]: ObjectSetting; }; }) => PackageFile; export declare const createRecordTypeAndBusinessProcessFileContent: (objectName: string, json: Record, allRecordTypes: string[], allBusinessProcesses: string[], capitalizeRecordTypes: boolean) => JsonMap; /** * Helper class for dealing with the settings that are defined in a scratch definition file. This class knows how to extract the * settings from the definition, how to expand them into a MD directory and how to generate a package.xml. */ export default class SettingsGenerator { private settingData?; private objectSettingsData?; private logger; private writer; private allRecordTypes; private allBusinessProcesses; private readonly shapeDirName; private readonly packageFilePath; private readonly capitalizeRecordTypes; constructor(options?: { mdApiTmpDir?: string; shapeDirName?: string; asDirectory?: boolean; capitalizeRecordTypes?: boolean; }); /** extract the settings from the scratch def file, if they are present. */ extract(scratchDef: ScratchOrgInfo): Promise<{ settings: Record | undefined; objectSettings: { [objectName: string]: ObjectSetting; } | undefined; }>; /** True if we are currently tracking setting or object setting data. */ hasSettings(): boolean; /** Create temporary deploy directory used to upload the scratch org shape. * This will create the dir, all of the .setting files and minimal object files needed for objectSettings */ createDeploy(): Promise; /** * Deploys the settings to the org. */ deploySettingsViaFolder(scratchOrg: Org, apiVersion: string, timeout?: Duration): Promise; createDeployPackageContents(apiVersion: string): Promise; getShapeDirName(): string; /** * Returns the destination where the writer placed the settings content. * */ getDestinationPath(): string | undefined; private writeObjectSettingsIfNeeded; private writeSettingsIfNeeded; }