import { HttpClient, NonNullablePaths, EventDefinition, MaybeContext, BuildRESTFunction, BuildEventDefinition } from '@wix/sdk-types';
import { GetAutomationRevisionOptions, GetAutomationRevisionResponse, Automation, CreateAutomationFromTemplateIdResponse, UpdateAutomation, BulkDeleteAutomationsResponse, CreatePreinstalledAutomationOptions, CreatePreinstalledAutomationResponse, UpdatePreinstalledAutomationOptions, UpdatePreinstalledAutomationResponse, DeletePreinstalledAutomationOptions, GeneratePreinstalledAutomationOptions, GeneratePreinstalledAutomationResponse, QueryPreinstalledAutomationsForAppOptions, QueryPreinstalledAutomationsForAppResponse, CursorQuery, QueryPreinstalledAutomationsResponse, GetAggregatedUsageInfoOptions, GetAggregatedUsageInfoResponse, CopyAutomationOptions, CopyAutomationResponse, CreateDraftAutomationOptions, CreateDraftAutomationResponse, CreateDraftAutomationFromTemplateIdResponse, GetOrCreateDraftAutomationResponse, UpdateDraftAutomation, UpdateDraftAutomationResponse, QueryAutomationsWithDraftsOptions, QueryAutomationsWithDraftsResponse, BulkCountAutomationsWithDraftsOptions, BulkCountAutomationsWithDraftsResponse, PublishDraftAutomationResponse, ValidateAutomationOptions, ValidateAutomationResponse, ValidateAutomationByIdOptions, ValidateAutomationByIdResponse, GetActionsQuotaInfoResponse, GenerateActionInputMappingFromTemplateOptions, GenerateActionInputMappingFromTemplateResponse, AutomationCreatedEnvelope, AutomationDeletedEnvelope, AutomationUpdatedEnvelope, AutomationQuery, QueryAutomationsOptions, typedQueryAutomations, AutomationsQueryBuilder } from './index.typings.js';
export { AIMetadata, AccountInfo, AccountInfoMetadata, Action, ActionConfigurationError, ActionErrorType, ActionErrorTypeWithLiterals, ActionEvent, ActionInfoOneOf, ActionProviderQuotaInfo, ActionQuotaInfo, ActionSettings, ActionUsageSummary, ActionValidationError, ActionValidationErrorErrorOneOf, ActionValidationInfo, AdditionalInfo, AppDefinedAction, ApplicationError, ApplicationOrigin, Asset, AuditInfo, AuditInfoIdOneOf, AutoArchivePolicy, AutomationConfiguration, AutomationConfigurationError, AutomationErrorType, AutomationErrorTypeWithLiterals, AutomationOriginInfoOneOf, AutomationQuerySpec, AutomationSettings, AutomationValidationError, AutomationValidationErrorErrorOneOf, AutomationValidationErrorValidationErrorType, AutomationValidationErrorValidationErrorTypeWithLiterals, AutomationsQueryResult, BaseEventMetadata, BulkActionMetadata, BulkCountAutomationsWithDraftsRequest, BulkDeleteAutomationsRequest, BulkDeleteResult, CTA, CodeConditionAction, CodeSnippet, CommonQueryWithEntityContext, ConditionAction, ConditionExpressionGroup, CopyAutomationRequest, CreateAutomationFromTemplateIdRequest, CreateAutomationRequest, CreateAutomationResponse, CreateDraftAutomationFromTemplateIdRequest, CreateDraftAutomationRequest, CreatePreinstalledAutomationRequest, CreatedByAppIdUsageSummary, CursorPaging, CursorPagingMetadata, CursorQueryPagingMethodOneOf, Cursors, DelayAction, DeleteAutomationRequest, DeleteAutomationResponse, DeleteContext, DeleteDraftAutomationRequest, DeleteDraftAutomationResponse, DeletePreinstalledAutomationRequest, DeletePreinstalledAutomationResponse, DeleteStalePreinstalledAutomationRequest, DeleteStalePreinstalledAutomationResponse, DeleteStatus, DeleteStatusWithLiterals, Dimensions, Domain, DomainEvent, DomainEventBodyOneOf, DomainWithLiterals, DraftInfo, DraftPublished, DraftsInfo, DuplicateAutomationForMigrationRequest, DuplicateAutomationForMigrationResponse, EditorlessAssigned, EditorlessUnassigned, Empty, Enrichment, Enrichments, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, EventMetadata, ExtendedFields, Filter, FilterValueSelection, FilterableAppDefinedActions, FutureDateActivationOffset, GenerateActionInputMappingFromTemplateRequest, GeneratePreinstalledAutomationRequest, GetActionsQuotaInfoRequest, GetAggregatedUsageInfoRequest, GetAutomationActionSchemaRequest, GetAutomationActionSchemaResponse, GetAutomationRequest, GetAutomationResponse, GetAutomationRevisionRequest, GetOrCreateDraftAutomationRequest, IdentificationData, IdentificationDataIdOneOf, ItemMetadata, Language, LanguageWithLiterals, MergeAction, MergeOverridePreinstalledWithRuntimeVersionRequest, MergeOverridePreinstalledWithRuntimeVersionResponse, MessageEnvelope, MetaSiteSpecialEvent, MetaSiteSpecialEventPayloadOneOf, MigrateVeloActionAutomationsRequest, MigrateVeloActionAutomationsResponse, Namespace, NamespaceChanged, NamespaceWithLiterals, Note, Notes, OdeditorAssigned, OdeditorUnassigned, Offset, Operator, OperatorWithLiterals, Origin, OriginAutomationInfo, OriginWithLiterals, OutputAction, Path, PicassoAssigned, PicassoUnassigned, Plan, Position, PreinstalledAutomationSpecInfo, PreinstalledOrigin, ProviderConfigurationError, PublishDraftAutomationRequest, QueryAutomationsRequest, QueryAutomationsResponse, QueryAutomationsWithDraftsRequest, QueryDraftAutomationsRequest, QueryDraftAutomationsResponse, QueryPreinstalledAutomationsForAppRequest, QueryPreinstalledAutomationsRequest, Quota, QuotaInfo, RateLimit, RateLimitAction, RequestedFields, RequestedFieldsWithLiterals, RestoreInfo, ServiceProvisioned, ServiceRemoved, SetVariablesAction, Severity, SeverityWithLiterals, SiteCreated, SiteCreatedContext, SiteCreatedContextWithLiterals, SiteDeleted, SiteHardDeleted, SiteMarkedAsTemplate, SiteMarkedAsWixSite, SitePublished, SitePurgedExternally, SiteRenamed, SiteTransferred, SiteUndeleted, SiteUnpublished, SiteUrlChanged, SortOrder, SortOrderWithLiterals, Sorting, SplitAction, State, StateWithLiterals, Status, StatusWithLiterals, StudioAssigned, StudioTwoAssigned, StudioTwoUnassigned, StudioUnassigned, TemplateOrigin, TimeUnit, TimeUnitWithLiterals, Trigger, TriggerConfigurationError, TriggerErrorType, TriggerErrorTypeWithLiterals, TriggerSettings, TriggerUsageSummary, TriggerValidationError, TriggerValidationErrorErrorOneOf, TriggerValidationErrorValidationErrorType, TriggerValidationErrorValidationErrorTypeWithLiterals, Type, TypeWithLiterals, UpdateAutomationRequest, UpdateAutomationResponse, UpdateDraftAutomationRequest, UpdatePreinstalledAutomationRequest, UpgradeCTA, UserDomainMediaDisabled, UserDomainMediaEnabled, ValidateAutomationByIdRequest, ValidateAutomationRequest, ValidationErrorSeverity, ValidationErrorSeverityWithLiterals, ValidationErrorType, ValidationErrorTypeWithLiterals, ValidationResultStatus, ValidationResultStatusWithLiterals, ValidationSettings, WebhookIdentityType, WebhookIdentityTypeWithLiterals, WixelAssigned, WixelUnassigned, utils } from './index.typings.js';

declare function getAutomationRevision$1(httpClient: HttpClient): GetAutomationRevisionSignature;
interface GetAutomationRevisionSignature {
    /**
     * Gets the specified automation revision.
     * @param - Automation ID.
     */
    (automationId: string, options?: GetAutomationRevisionOptions): Promise<NonNullablePaths<GetAutomationRevisionResponse, `automation.applicationInfo.appId` | `automation.preinstalledInfo.appId` | `automation.templateInfo.appId` | `automation.createdBy.userId` | `automation.createdBy.appId` | `automation.name` | `automation.configuration.status` | `automation.configuration.trigger.appId` | `automation.configuration.trigger.triggerKey` | `automation.configuration.trigger.filters` | `automation.configuration.trigger.filters.${number}._id` | `automation.configuration.trigger.filters.${number}.fieldKey` | `automation.configuration.trigger.filters.${number}.filterExpression` | `automation.configuration.trigger.scheduledEventOffset.preScheduledEventOffsetExpression` | `automation.configuration.trigger.scheduledEventOffset.scheduledEventOffsetTimeUnit` | `automation.configuration.trigger.rateLimit.maxActivationsExpression` | `automation.configuration.trigger.rateLimit.durationTimeUnit` | `automation.configuration.rootActionIds` | `automation.origin` | `automation.settings.hidden` | `automation.settings.readonly` | `automation.settings.disableDelete` | `automation.settings.disableStatusChange` | `automation.settings.actionSettings.permanentActionIds` | `automation.settings.actionSettings.readonlyActionIds` | `automation.archived`, 7>>;
}
declare function createAutomation$1(httpClient: HttpClient): CreateAutomationSignature;
interface CreateAutomationSignature {
    /**
     * Creates an automation.
     * @param - Automation to create.
     * @returns Details of the created automation.
     */
    (automation: NonNullablePaths<Automation, `configuration` | `configuration.actions` | `configuration.rootActionIds` | `configuration.status` | `configuration.trigger` | `configuration.trigger.appId` | `configuration.trigger.triggerKey` | `name` | `origin`, 4>): Promise<NonNullablePaths<Automation, `applicationInfo.appId` | `preinstalledInfo.appId` | `templateInfo.appId` | `createdBy.userId` | `createdBy.appId` | `name` | `configuration.status` | `configuration.trigger.appId` | `configuration.trigger.triggerKey` | `configuration.trigger.filters` | `configuration.trigger.filters.${number}._id` | `configuration.trigger.filters.${number}.fieldKey` | `configuration.trigger.filters.${number}.filterExpression` | `configuration.trigger.scheduledEventOffset.preScheduledEventOffsetExpression` | `configuration.trigger.scheduledEventOffset.scheduledEventOffsetTimeUnit` | `configuration.trigger.rateLimit.maxActivationsExpression` | `configuration.trigger.rateLimit.durationTimeUnit` | `configuration.rootActionIds` | `origin` | `settings.hidden` | `settings.readonly` | `settings.disableDelete` | `settings.disableStatusChange` | `settings.actionSettings.permanentActionIds` | `settings.actionSettings.readonlyActionIds` | `archived`, 6>>;
}
declare function createAutomationFromTemplateId$1(httpClient: HttpClient): CreateAutomationFromTemplateIdSignature;
interface CreateAutomationFromTemplateIdSignature {
    /**
     * Creates an automation from an automation template ID.
     * @param - ID of the automation template to create an automation from.
     */
    (automationTemplateId: string): Promise<NonNullablePaths<CreateAutomationFromTemplateIdResponse, `automation.applicationInfo.appId` | `automation.preinstalledInfo.appId` | `automation.templateInfo.appId` | `automation.createdBy.userId` | `automation.createdBy.appId` | `automation.name` | `automation.configuration.status` | `automation.configuration.trigger.appId` | `automation.configuration.trigger.triggerKey` | `automation.configuration.trigger.filters` | `automation.configuration.trigger.filters.${number}._id` | `automation.configuration.trigger.filters.${number}.fieldKey` | `automation.configuration.trigger.filters.${number}.filterExpression` | `automation.configuration.trigger.scheduledEventOffset.preScheduledEventOffsetExpression` | `automation.configuration.trigger.scheduledEventOffset.scheduledEventOffsetTimeUnit` | `automation.configuration.trigger.rateLimit.maxActivationsExpression` | `automation.configuration.trigger.rateLimit.durationTimeUnit` | `automation.configuration.rootActionIds` | `automation.origin` | `automation.settings.hidden` | `automation.settings.readonly` | `automation.settings.disableDelete` | `automation.settings.disableStatusChange` | `automation.settings.actionSettings.permanentActionIds` | `automation.settings.actionSettings.readonlyActionIds` | `automation.archived`, 7>>;
}
declare function getAutomation$1(httpClient: HttpClient): GetAutomationSignature;
interface GetAutomationSignature {
    /**
     * Retrieves an automation by ID.
     * @param - Automation ID.
     * @returns Retrieved automation.
     */
    (automationId: string): Promise<NonNullablePaths<Automation, `applicationInfo.appId` | `preinstalledInfo.appId` | `templateInfo.appId` | `createdBy.userId` | `createdBy.appId` | `name` | `configuration.status` | `configuration.trigger.appId` | `configuration.trigger.triggerKey` | `configuration.trigger.filters` | `configuration.trigger.filters.${number}._id` | `configuration.trigger.filters.${number}.fieldKey` | `configuration.trigger.filters.${number}.filterExpression` | `configuration.trigger.scheduledEventOffset.preScheduledEventOffsetExpression` | `configuration.trigger.scheduledEventOffset.scheduledEventOffsetTimeUnit` | `configuration.trigger.rateLimit.maxActivationsExpression` | `configuration.trigger.rateLimit.durationTimeUnit` | `configuration.rootActionIds` | `origin` | `settings.hidden` | `settings.readonly` | `settings.disableDelete` | `settings.disableStatusChange` | `settings.actionSettings.permanentActionIds` | `settings.actionSettings.readonlyActionIds` | `archived`, 6>>;
}
declare function updateAutomation$1(httpClient: HttpClient): UpdateAutomationSignature;
interface UpdateAutomationSignature {
    /**
     * Updates the specified automation.
     *
     * When an automation is updated, its `revision` property is incremented by 1. When updating an automation, you must specify the current revision number.
     * @param - Automation ID.
     * @returns Updated automation.
     */
    (_id: string, automation: NonNullablePaths<UpdateAutomation, `revision`, 2>): Promise<NonNullablePaths<Automation, `applicationInfo.appId` | `preinstalledInfo.appId` | `templateInfo.appId` | `createdBy.userId` | `createdBy.appId` | `name` | `configuration.status` | `configuration.trigger.appId` | `configuration.trigger.triggerKey` | `configuration.trigger.filters` | `configuration.trigger.filters.${number}._id` | `configuration.trigger.filters.${number}.fieldKey` | `configuration.trigger.filters.${number}.filterExpression` | `configuration.trigger.scheduledEventOffset.preScheduledEventOffsetExpression` | `configuration.trigger.scheduledEventOffset.scheduledEventOffsetTimeUnit` | `configuration.trigger.rateLimit.maxActivationsExpression` | `configuration.trigger.rateLimit.durationTimeUnit` | `configuration.rootActionIds` | `origin` | `settings.hidden` | `settings.readonly` | `settings.disableDelete` | `settings.disableStatusChange` | `settings.actionSettings.permanentActionIds` | `settings.actionSettings.readonlyActionIds` | `archived`, 6>>;
}
declare function deleteAutomation$1(httpClient: HttpClient): DeleteAutomationSignature;
interface DeleteAutomationSignature {
    /**
     * Deletes the specified automation.
     * @param - Automation ID.
     */
    (automationId: string): Promise<void>;
}
declare function bulkDeleteAutomations$1(httpClient: HttpClient): BulkDeleteAutomationsSignature;
interface BulkDeleteAutomationsSignature {
    /**
     * Deletes one or more automations.
     * @param - IDs of the automations to delete.
     */
    (automationIds: string[]): Promise<NonNullablePaths<BulkDeleteAutomationsResponse, `results` | `results.${number}.itemMetadata.originalIndex` | `results.${number}.itemMetadata.success` | `results.${number}.itemMetadata.error.code` | `results.${number}.itemMetadata.error.description` | `bulkActionMetadata.totalSuccesses` | `bulkActionMetadata.totalFailures` | `bulkActionMetadata.undetailedFailures`, 6>>;
}
declare function createPreinstalledAutomation$1(httpClient: HttpClient): CreatePreinstalledAutomationSignature;
interface CreatePreinstalledAutomationSignature {
    /**
     * Creates a preinstalled automation.
     *
     * > **Note**: You must have an account permission to edit an app.
     * @param - Preinstalled automation to create.
     */
    (automation: NonNullablePaths<Automation, `configuration` | `configuration.actions` | `configuration.rootActionIds` | `configuration.status` | `configuration.trigger` | `configuration.trigger.appId` | `configuration.trigger.triggerKey` | `name`, 4>, options?: CreatePreinstalledAutomationOptions): Promise<NonNullablePaths<CreatePreinstalledAutomationResponse, `automation.applicationInfo.appId` | `automation.preinstalledInfo.appId` | `automation.templateInfo.appId` | `automation.createdBy.userId` | `automation.createdBy.appId` | `automation.name` | `automation.configuration.status` | `automation.configuration.trigger.appId` | `automation.configuration.trigger.triggerKey` | `automation.configuration.trigger.filters` | `automation.configuration.trigger.filters.${number}._id` | `automation.configuration.trigger.filters.${number}.fieldKey` | `automation.configuration.trigger.filters.${number}.filterExpression` | `automation.configuration.trigger.scheduledEventOffset.preScheduledEventOffsetExpression` | `automation.configuration.trigger.scheduledEventOffset.scheduledEventOffsetTimeUnit` | `automation.configuration.trigger.rateLimit.maxActivationsExpression` | `automation.configuration.trigger.rateLimit.durationTimeUnit` | `automation.configuration.rootActionIds` | `automation.origin` | `automation.settings.hidden` | `automation.settings.readonly` | `automation.settings.disableDelete` | `automation.settings.disableStatusChange` | `automation.settings.actionSettings.permanentActionIds` | `automation.settings.actionSettings.readonlyActionIds` | `automation.archived`, 7>>;
}
declare function updatePreinstalledAutomation$1(httpClient: HttpClient): UpdatePreinstalledAutomationSignature;
interface UpdatePreinstalledAutomationSignature {
    /**
     * Updates the specified preinstalled automation.
     *
     * > **Note**: You must have an account permission to edit an app.
     * @param - Preinstalled automation to update.
     */
    (automation: NonNullablePaths<Automation, `preinstalledInfo`, 2>, options?: UpdatePreinstalledAutomationOptions): Promise<NonNullablePaths<UpdatePreinstalledAutomationResponse, `automation.applicationInfo.appId` | `automation.preinstalledInfo.appId` | `automation.templateInfo.appId` | `automation.createdBy.userId` | `automation.createdBy.appId` | `automation.name` | `automation.configuration.status` | `automation.configuration.trigger.appId` | `automation.configuration.trigger.triggerKey` | `automation.configuration.trigger.filters` | `automation.configuration.trigger.filters.${number}._id` | `automation.configuration.trigger.filters.${number}.fieldKey` | `automation.configuration.trigger.filters.${number}.filterExpression` | `automation.configuration.trigger.scheduledEventOffset.preScheduledEventOffsetExpression` | `automation.configuration.trigger.scheduledEventOffset.scheduledEventOffsetTimeUnit` | `automation.configuration.trigger.rateLimit.maxActivationsExpression` | `automation.configuration.trigger.rateLimit.durationTimeUnit` | `automation.configuration.rootActionIds` | `automation.origin` | `automation.settings.hidden` | `automation.settings.readonly` | `automation.settings.disableDelete` | `automation.settings.disableStatusChange` | `automation.settings.actionSettings.permanentActionIds` | `automation.settings.actionSettings.readonlyActionIds` | `automation.archived`, 7>>;
}
declare function deletePreinstalledAutomation$1(httpClient: HttpClient): DeletePreinstalledAutomationSignature;
interface DeletePreinstalledAutomationSignature {
    /**
     * Deletes the preinstalled automation.
     *
     * > **Note**: You must have an account permission to edit an app.
     * @param - ID of the preinstalled component.
     */
    (componentId: string, options?: DeletePreinstalledAutomationOptions): Promise<void>;
}
declare function generatePreinstalledAutomation$1(httpClient: HttpClient): GeneratePreinstalledAutomationSignature;
interface GeneratePreinstalledAutomationSignature {
    /**
     * Generates a preinstalled automation from another automation.
     *
     * Calls the action providers for changes needed to make a preinstalled automation, such as changes made to email template.
     *
     * > **Note**: You must have an account permission to edit an app.
     * @param - Automation.
     */
    (automation: Automation, options?: GeneratePreinstalledAutomationOptions): Promise<NonNullablePaths<GeneratePreinstalledAutomationResponse, `automation.applicationInfo.appId` | `automation.preinstalledInfo.appId` | `automation.templateInfo.appId` | `automation.createdBy.userId` | `automation.createdBy.appId` | `automation.name` | `automation.configuration.status` | `automation.configuration.trigger.appId` | `automation.configuration.trigger.triggerKey` | `automation.configuration.trigger.filters` | `automation.configuration.trigger.filters.${number}._id` | `automation.configuration.trigger.filters.${number}.fieldKey` | `automation.configuration.trigger.filters.${number}.filterExpression` | `automation.configuration.trigger.scheduledEventOffset.preScheduledEventOffsetExpression` | `automation.configuration.trigger.scheduledEventOffset.scheduledEventOffsetTimeUnit` | `automation.configuration.trigger.rateLimit.maxActivationsExpression` | `automation.configuration.trigger.rateLimit.durationTimeUnit` | `automation.configuration.rootActionIds` | `automation.origin` | `automation.settings.hidden` | `automation.settings.readonly` | `automation.settings.disableDelete` | `automation.settings.disableStatusChange` | `automation.settings.actionSettings.permanentActionIds` | `automation.settings.actionSettings.readonlyActionIds` | `automation.archived`, 7>>;
}
declare function queryPreinstalledAutomationsForApp$1(httpClient: HttpClient): QueryPreinstalledAutomationsForAppSignature;
interface QueryPreinstalledAutomationsForAppSignature {
    /**
     * Allows an app to query its preinstalled automations.
     *
     * > **Note**: You must have an account permission to edit an app.
     */
    (options?: QueryPreinstalledAutomationsForAppOptions): Promise<NonNullablePaths<QueryPreinstalledAutomationsForAppResponse, `automations` | `automations.${number}.applicationInfo.appId` | `automations.${number}.preinstalledInfo.appId` | `automations.${number}.templateInfo.appId` | `automations.${number}.createdBy.userId` | `automations.${number}.createdBy.appId` | `automations.${number}.name` | `automations.${number}.configuration.status` | `automations.${number}.configuration.trigger.appId` | `automations.${number}.configuration.trigger.triggerKey` | `automations.${number}.origin` | `automations.${number}.settings.hidden` | `automations.${number}.settings.readonly` | `automations.${number}.settings.disableDelete` | `automations.${number}.settings.disableStatusChange` | `automations.${number}.archived`, 6>>;
}
declare function queryPreinstalledAutomations$1(httpClient: HttpClient): QueryPreinstalledAutomationsSignature;
interface QueryPreinstalledAutomationsSignature {
    /**
     * Allows querying preinstalled automations with flexible filters and pagination. useful to get older versions
     * @param - Query.
     * Learn more about [API Query Language](https://dev.wix.com/docs/rest/articles/get-started/api-query-language).
     */
    (query: CursorQuery): Promise<NonNullablePaths<QueryPreinstalledAutomationsResponse, `automations` | `automations.${number}.applicationInfo.appId` | `automations.${number}.preinstalledInfo.appId` | `automations.${number}.templateInfo.appId` | `automations.${number}.createdBy.userId` | `automations.${number}.createdBy.appId` | `automations.${number}.name` | `automations.${number}.configuration.status` | `automations.${number}.configuration.trigger.appId` | `automations.${number}.configuration.trigger.triggerKey` | `automations.${number}.origin` | `automations.${number}.settings.hidden` | `automations.${number}.settings.readonly` | `automations.${number}.settings.disableDelete` | `automations.${number}.settings.disableStatusChange` | `automations.${number}.archived`, 6>>;
}
declare function getAggregatedUsageInfo$1(httpClient: HttpClient): GetAggregatedUsageInfoSignature;
interface GetAggregatedUsageInfoSignature {
    /**
     * Get aggregated info
     */
    (options?: GetAggregatedUsageInfoOptions): Promise<NonNullablePaths<GetAggregatedUsageInfoResponse, `triggersUsageSummary` | `triggersUsageSummary.${number}.appId` | `triggersUsageSummary.${number}.triggerKey` | `triggersUsageSummary.${number}.automationsCount` | `actionsUsageSummary` | `actionsUsageSummary.${number}.appId` | `actionsUsageSummary.${number}.actionKey` | `actionsUsageSummary.${number}.automationsCount` | `createdByAppIdUsageSummary` | `createdByAppIdUsageSummary.${number}.appId` | `createdByAppIdUsageSummary.${number}.automationsCount`, 4>>;
}
declare function copyAutomation$1(httpClient: HttpClient): CopyAutomationSignature;
interface CopyAutomationSignature {
    /**
     * Creates a copy of an action with a new ID, and changes the action's input mapping if necessary.
     *
     * The action copy isn't saved automatically. To save it, the user must perform an action
     * such as clicking the **Save** button.
     * @param - ID of the automation to copy.
     */
    (automationId: string, options?: CopyAutomationOptions): Promise<NonNullablePaths<CopyAutomationResponse, `automation.applicationInfo.appId` | `automation.preinstalledInfo.appId` | `automation.templateInfo.appId` | `automation.createdBy.userId` | `automation.createdBy.appId` | `automation.name` | `automation.configuration.status` | `automation.configuration.trigger.appId` | `automation.configuration.trigger.triggerKey` | `automation.configuration.trigger.filters` | `automation.configuration.trigger.filters.${number}._id` | `automation.configuration.trigger.filters.${number}.fieldKey` | `automation.configuration.trigger.filters.${number}.filterExpression` | `automation.configuration.trigger.scheduledEventOffset.preScheduledEventOffsetExpression` | `automation.configuration.trigger.scheduledEventOffset.scheduledEventOffsetTimeUnit` | `automation.configuration.trigger.rateLimit.maxActivationsExpression` | `automation.configuration.trigger.rateLimit.durationTimeUnit` | `automation.configuration.rootActionIds` | `automation.origin` | `automation.settings.hidden` | `automation.settings.readonly` | `automation.settings.disableDelete` | `automation.settings.disableStatusChange` | `automation.settings.actionSettings.permanentActionIds` | `automation.settings.actionSettings.readonlyActionIds` | `automation.archived`, 7>>;
}
declare function createDraftAutomation$1(httpClient: HttpClient): CreateDraftAutomationSignature;
interface CreateDraftAutomationSignature {
    /**
     * Creates a draft automation.
     */
    (options?: CreateDraftAutomationOptions): Promise<NonNullablePaths<CreateDraftAutomationResponse, `automation.applicationInfo.appId` | `automation.preinstalledInfo.appId` | `automation.templateInfo.appId` | `automation.createdBy.userId` | `automation.createdBy.appId` | `automation.name` | `automation.configuration.status` | `automation.configuration.trigger.appId` | `automation.configuration.trigger.triggerKey` | `automation.configuration.trigger.filters` | `automation.configuration.trigger.filters.${number}._id` | `automation.configuration.trigger.filters.${number}.fieldKey` | `automation.configuration.trigger.filters.${number}.filterExpression` | `automation.configuration.trigger.scheduledEventOffset.preScheduledEventOffsetExpression` | `automation.configuration.trigger.scheduledEventOffset.scheduledEventOffsetTimeUnit` | `automation.configuration.trigger.rateLimit.maxActivationsExpression` | `automation.configuration.trigger.rateLimit.durationTimeUnit` | `automation.configuration.rootActionIds` | `automation.origin` | `automation.settings.hidden` | `automation.settings.readonly` | `automation.settings.disableDelete` | `automation.settings.disableStatusChange` | `automation.settings.actionSettings.permanentActionIds` | `automation.settings.actionSettings.readonlyActionIds` | `automation.archived`, 7>>;
}
declare function createDraftAutomationFromTemplateId$1(httpClient: HttpClient): CreateDraftAutomationFromTemplateIdSignature;
interface CreateDraftAutomationFromTemplateIdSignature {
    /**
     * Creates a draft automation from an AutomationTemplate ID.
     * @param - ID of the AutomationTemplate to create a draft automation from.
     */
    (automationTemplateId: string): Promise<NonNullablePaths<CreateDraftAutomationFromTemplateIdResponse, `automation.applicationInfo.appId` | `automation.preinstalledInfo.appId` | `automation.templateInfo.appId` | `automation.createdBy.userId` | `automation.createdBy.appId` | `automation.name` | `automation.configuration.status` | `automation.configuration.trigger.appId` | `automation.configuration.trigger.triggerKey` | `automation.configuration.trigger.filters` | `automation.configuration.trigger.filters.${number}._id` | `automation.configuration.trigger.filters.${number}.fieldKey` | `automation.configuration.trigger.filters.${number}.filterExpression` | `automation.configuration.trigger.scheduledEventOffset.preScheduledEventOffsetExpression` | `automation.configuration.trigger.scheduledEventOffset.scheduledEventOffsetTimeUnit` | `automation.configuration.trigger.rateLimit.maxActivationsExpression` | `automation.configuration.trigger.rateLimit.durationTimeUnit` | `automation.configuration.rootActionIds` | `automation.origin` | `automation.settings.hidden` | `automation.settings.readonly` | `automation.settings.disableDelete` | `automation.settings.disableStatusChange` | `automation.settings.actionSettings.permanentActionIds` | `automation.settings.actionSettings.readonlyActionIds` | `automation.archived`, 7>>;
}
declare function getOrCreateDraftAutomation$1(httpClient: HttpClient): GetOrCreateDraftAutomationSignature;
interface GetOrCreateDraftAutomationSignature {
    /**
     * Retrieves the draft of the specified automation. If a draft doesn't exist, the method creates one.
     *
     * > **Note**: If the specified automation is a draft, the method returns it.
     * @param - ID of the original automation on which the draft is based.
     */
    (originalAutomationId: string): Promise<NonNullablePaths<GetOrCreateDraftAutomationResponse, `automation.applicationInfo.appId` | `automation.preinstalledInfo.appId` | `automation.templateInfo.appId` | `automation.createdBy.userId` | `automation.createdBy.appId` | `automation.name` | `automation.configuration.status` | `automation.configuration.trigger.appId` | `automation.configuration.trigger.triggerKey` | `automation.configuration.trigger.filters` | `automation.configuration.trigger.filters.${number}._id` | `automation.configuration.trigger.filters.${number}.fieldKey` | `automation.configuration.trigger.filters.${number}.filterExpression` | `automation.configuration.trigger.scheduledEventOffset.preScheduledEventOffsetExpression` | `automation.configuration.trigger.scheduledEventOffset.scheduledEventOffsetTimeUnit` | `automation.configuration.trigger.rateLimit.maxActivationsExpression` | `automation.configuration.trigger.rateLimit.durationTimeUnit` | `automation.configuration.rootActionIds` | `automation.origin` | `automation.settings.hidden` | `automation.settings.readonly` | `automation.settings.disableDelete` | `automation.settings.disableStatusChange` | `automation.settings.actionSettings.permanentActionIds` | `automation.settings.actionSettings.readonlyActionIds` | `automation.archived`, 7>>;
}
declare function updateDraftAutomation$1(httpClient: HttpClient): UpdateDraftAutomationSignature;
interface UpdateDraftAutomationSignature {
    /**
     * Updates a draft automation.
     * @param - Automation ID.
     */
    (_id: string, automation: UpdateDraftAutomation): Promise<NonNullablePaths<UpdateDraftAutomationResponse, `automation.applicationInfo.appId` | `automation.preinstalledInfo.appId` | `automation.templateInfo.appId` | `automation.createdBy.userId` | `automation.createdBy.appId` | `automation.name` | `automation.configuration.status` | `automation.configuration.trigger.appId` | `automation.configuration.trigger.triggerKey` | `automation.configuration.trigger.filters` | `automation.configuration.trigger.filters.${number}._id` | `automation.configuration.trigger.filters.${number}.fieldKey` | `automation.configuration.trigger.filters.${number}.filterExpression` | `automation.configuration.trigger.scheduledEventOffset.preScheduledEventOffsetExpression` | `automation.configuration.trigger.scheduledEventOffset.scheduledEventOffsetTimeUnit` | `automation.configuration.trigger.rateLimit.maxActivationsExpression` | `automation.configuration.trigger.rateLimit.durationTimeUnit` | `automation.configuration.rootActionIds` | `automation.origin` | `automation.settings.hidden` | `automation.settings.readonly` | `automation.settings.disableDelete` | `automation.settings.disableStatusChange` | `automation.settings.actionSettings.permanentActionIds` | `automation.settings.actionSettings.readonlyActionIds` | `automation.archived`, 7>>;
}
declare function queryAutomationsWithDrafts$1(httpClient: HttpClient): QueryAutomationsWithDraftsSignature;
interface QueryAutomationsWithDraftsSignature {
    /**
     * Retrieves a list of automations, including drafts. Max query filter depth is 3.
     *
     * Relevant automations for the query are returned. This includes automations created on the site and pre-installed automations.
     * If there's an existing override for a pre-installed automation, the override is returned in the query result.
     * The query only returns automations from apps that are installed on the site.
     *
     * - new drafts that are not related to existing automations will be returned in the list
     * - the response will contain a map of originalAutomationId => relatedDrafts
     *
     * To learn about working with _Query_ endpoints, see
     * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),
     * [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination),
     * and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).
     */
    (options?: QueryAutomationsWithDraftsOptions): Promise<NonNullablePaths<QueryAutomationsWithDraftsResponse, `automations` | `automations.${number}.applicationInfo.appId` | `automations.${number}.preinstalledInfo.appId` | `automations.${number}.templateInfo.appId` | `automations.${number}.createdBy.userId` | `automations.${number}.createdBy.appId` | `automations.${number}.name` | `automations.${number}.configuration.status` | `automations.${number}.configuration.trigger.appId` | `automations.${number}.configuration.trigger.triggerKey` | `automations.${number}.origin` | `automations.${number}.settings.hidden` | `automations.${number}.settings.readonly` | `automations.${number}.settings.disableDelete` | `automations.${number}.settings.disableStatusChange` | `automations.${number}.archived`, 6>>;
}
declare function bulkCountAutomationsWithDrafts$1(httpClient: HttpClient): BulkCountAutomationsWithDraftsSignature;
interface BulkCountAutomationsWithDraftsSignature {
    /** */
    (options?: BulkCountAutomationsWithDraftsOptions): Promise<NonNullablePaths<BulkCountAutomationsWithDraftsResponse, `counts`, 2>>;
}
declare function deleteDraftAutomation$1(httpClient: HttpClient): DeleteDraftAutomationSignature;
interface DeleteDraftAutomationSignature {
    /**
     * Deletes a draft automation.
     * @param - ID of the draft automation to delete.
     */
    (automationId: string): Promise<void>;
}
declare function publishDraftAutomation$1(httpClient: HttpClient): PublishDraftAutomationSignature;
interface PublishDraftAutomationSignature {
    /**
     * Publishes a draft automation. This applies any changes to the live automation.
     * @param - ID of the draft automation to publish.
     */
    (automationId: string): Promise<NonNullablePaths<PublishDraftAutomationResponse, `automation.applicationInfo.appId` | `automation.preinstalledInfo.appId` | `automation.templateInfo.appId` | `automation.createdBy.userId` | `automation.createdBy.appId` | `automation.name` | `automation.configuration.status` | `automation.configuration.trigger.appId` | `automation.configuration.trigger.triggerKey` | `automation.configuration.trigger.filters` | `automation.configuration.trigger.filters.${number}._id` | `automation.configuration.trigger.filters.${number}.fieldKey` | `automation.configuration.trigger.filters.${number}.filterExpression` | `automation.configuration.trigger.scheduledEventOffset.preScheduledEventOffsetExpression` | `automation.configuration.trigger.scheduledEventOffset.scheduledEventOffsetTimeUnit` | `automation.configuration.trigger.rateLimit.maxActivationsExpression` | `automation.configuration.trigger.rateLimit.durationTimeUnit` | `automation.configuration.rootActionIds` | `automation.origin` | `automation.settings.hidden` | `automation.settings.readonly` | `automation.settings.disableDelete` | `automation.settings.disableStatusChange` | `automation.settings.actionSettings.permanentActionIds` | `automation.settings.actionSettings.readonlyActionIds` | `automation.archived`, 7>>;
}
declare function validateAutomation$1(httpClient: HttpClient): ValidateAutomationSignature;
interface ValidateAutomationSignature {
    /**
     * Validates an automation. A valid automation has no validation errors.
     *
     * This method:
     *
     * - Validates that the [trigger is properly configured](https://dev.wix.com/docs/api-reference/business-management/automations/automations/automations-v2/configure-your-automation#configuring-the-trigger).
     * - Validates that all [actions are properly configured](https://dev.wix.com/docs/api-reference/business-management/automations/automations/automations-v2/configure-your-automation#configuring-actions) with correct [input](https://dev.wix.com/docs/api-reference/business-management/automations/actions/about-actions#understanding-input-mapping) and other mappings.
     * - Validates custom logic added by [trigger providers](https://dev.wix.com/docs/api-reference/business-management/automations/triggers/trigger-provider-service-plugin/validate-configuration) and [action providers](https://dev.wix.com/docs/api-reference/business-management/automations/actions/action-provider-service-plugin/validate-configuration).
     *
     * > **Note**: [Create Automation](https://dev.wix.com/docs/api-reference/business-management/automations/automations/automations-v2/create-automation) and [Update Automation](https://dev.wix.com/docs/api-reference/business-management/automations/automations/automations-v2/update-automation) don't validate the automation configuration. You can call this method before activating the automation to locate any configuration errors.
     * @param - Automation to validate.
     */
    (automation: Automation, options?: ValidateAutomationOptions): Promise<NonNullablePaths<ValidateAutomationResponse, `status` | `triggerValidationErrors` | `triggerValidationErrors.${number}.configurationError.errorType` | `triggerValidationErrors.${number}.providerConfigurationError.message` | `triggerValidationErrors.${number}.providerConfigurationError.title` | `triggerValidationErrors.${number}.errorType` | `triggerValidationErrors.${number}.errorSeverity` | `actionValidationErrors` | `actionValidationErrors.${number}.configurationError.errorType` | `actionValidationErrors.${number}.providerConfigurationError.message` | `actionValidationErrors.${number}.providerConfigurationError.title` | `actionValidationErrors.${number}.actionId` | `actionValidationErrors.${number}.appId` | `actionValidationErrors.${number}.actionKey` | `actionValidationErrors.${number}.errorType` | `actionValidationErrors.${number}.errorSeverity`, 5>>;
}
declare function validateAutomationById$1(httpClient: HttpClient): ValidateAutomationByIdSignature;
interface ValidateAutomationByIdSignature {
    /**
     * Validates the automation specified by ID.
     * @param - Automation ID.
     */
    (automationId: string, options?: ValidateAutomationByIdOptions): Promise<NonNullablePaths<ValidateAutomationByIdResponse, `status` | `triggerValidationErrors` | `triggerValidationErrors.${number}.configurationError.errorType` | `triggerValidationErrors.${number}.providerConfigurationError.message` | `triggerValidationErrors.${number}.providerConfigurationError.title` | `triggerValidationErrors.${number}.errorType` | `triggerValidationErrors.${number}.errorSeverity` | `actionValidationErrors` | `actionValidationErrors.${number}.configurationError.errorType` | `actionValidationErrors.${number}.providerConfigurationError.message` | `actionValidationErrors.${number}.providerConfigurationError.title` | `actionValidationErrors.${number}.actionId` | `actionValidationErrors.${number}.appId` | `actionValidationErrors.${number}.actionKey` | `actionValidationErrors.${number}.errorType` | `actionValidationErrors.${number}.errorSeverity`, 5>>;
}
declare function getActionsQuotaInfo$1(httpClient: HttpClient): GetActionsQuotaInfoSignature;
interface GetActionsQuotaInfoSignature {
    /**
     * Gets action quota information.
     */
    (): Promise<NonNullablePaths<GetActionsQuotaInfoResponse, `actionProviderQuotaInfo` | `actionProviderQuotaInfo.${number}.appId` | `actionProviderQuotaInfo.${number}.actionKey` | `actionProviderQuotaInfo.${number}.actionQuotaInfo.enforced`, 5>>;
}
declare function generateActionInputMappingFromTemplate$1(httpClient: HttpClient): GenerateActionInputMappingFromTemplateSignature;
interface GenerateActionInputMappingFromTemplateSignature {
    /**
     * Generates action input mapping from a template.
     * @param - Action app ID.
     */
    (appId: string, options: NonNullablePaths<GenerateActionInputMappingFromTemplateOptions, `actionInputMappingTemplate` | `actionKey`, 2>): Promise<GenerateActionInputMappingFromTemplateResponse>;
}
declare const onAutomationCreated$1: EventDefinition<AutomationCreatedEnvelope, "wix.automations.v2.automation_created">;
declare const onAutomationDeleted$1: EventDefinition<AutomationDeletedEnvelope, "wix.automations.v2.automation_deleted">;
declare const onAutomationUpdated$1: EventDefinition<AutomationUpdatedEnvelope, "wix.automations.v2.automation_updated">;

declare function customQueryAutomations(httpClient: HttpClient): {
    (query: AutomationQuery, options?: QueryAutomationsOptions): ReturnType<typeof typedQueryAutomations>;
    (options?: QueryAutomationsOptions): AutomationsQueryBuilder;
};
declare const getAutomationRevision: MaybeContext<BuildRESTFunction<typeof getAutomationRevision$1> & typeof getAutomationRevision$1>;
declare const createAutomation: MaybeContext<BuildRESTFunction<typeof createAutomation$1> & typeof createAutomation$1>;
declare const createAutomationFromTemplateId: MaybeContext<BuildRESTFunction<typeof createAutomationFromTemplateId$1> & typeof createAutomationFromTemplateId$1>;
declare const getAutomation: MaybeContext<BuildRESTFunction<typeof getAutomation$1> & typeof getAutomation$1>;
declare const updateAutomation: MaybeContext<BuildRESTFunction<typeof updateAutomation$1> & typeof updateAutomation$1>;
declare const deleteAutomation: MaybeContext<BuildRESTFunction<typeof deleteAutomation$1> & typeof deleteAutomation$1>;
declare const bulkDeleteAutomations: MaybeContext<BuildRESTFunction<typeof bulkDeleteAutomations$1> & typeof bulkDeleteAutomations$1>;
declare const createPreinstalledAutomation: MaybeContext<BuildRESTFunction<typeof createPreinstalledAutomation$1> & typeof createPreinstalledAutomation$1>;
declare const updatePreinstalledAutomation: MaybeContext<BuildRESTFunction<typeof updatePreinstalledAutomation$1> & typeof updatePreinstalledAutomation$1>;
declare const deletePreinstalledAutomation: MaybeContext<BuildRESTFunction<typeof deletePreinstalledAutomation$1> & typeof deletePreinstalledAutomation$1>;
declare const generatePreinstalledAutomation: MaybeContext<BuildRESTFunction<typeof generatePreinstalledAutomation$1> & typeof generatePreinstalledAutomation$1>;
declare const queryPreinstalledAutomationsForApp: MaybeContext<BuildRESTFunction<typeof queryPreinstalledAutomationsForApp$1> & typeof queryPreinstalledAutomationsForApp$1>;
declare const queryPreinstalledAutomations: MaybeContext<BuildRESTFunction<typeof queryPreinstalledAutomations$1> & typeof queryPreinstalledAutomations$1>;
declare const getAggregatedUsageInfo: MaybeContext<BuildRESTFunction<typeof getAggregatedUsageInfo$1> & typeof getAggregatedUsageInfo$1>;
declare const copyAutomation: MaybeContext<BuildRESTFunction<typeof copyAutomation$1> & typeof copyAutomation$1>;
declare const createDraftAutomation: MaybeContext<BuildRESTFunction<typeof createDraftAutomation$1> & typeof createDraftAutomation$1>;
declare const createDraftAutomationFromTemplateId: MaybeContext<BuildRESTFunction<typeof createDraftAutomationFromTemplateId$1> & typeof createDraftAutomationFromTemplateId$1>;
declare const getOrCreateDraftAutomation: MaybeContext<BuildRESTFunction<typeof getOrCreateDraftAutomation$1> & typeof getOrCreateDraftAutomation$1>;
declare const updateDraftAutomation: MaybeContext<BuildRESTFunction<typeof updateDraftAutomation$1> & typeof updateDraftAutomation$1>;
declare const queryAutomationsWithDrafts: MaybeContext<BuildRESTFunction<typeof queryAutomationsWithDrafts$1> & typeof queryAutomationsWithDrafts$1>;
declare const bulkCountAutomationsWithDrafts: MaybeContext<BuildRESTFunction<typeof bulkCountAutomationsWithDrafts$1> & typeof bulkCountAutomationsWithDrafts$1>;
declare const deleteDraftAutomation: MaybeContext<BuildRESTFunction<typeof deleteDraftAutomation$1> & typeof deleteDraftAutomation$1>;
declare const publishDraftAutomation: MaybeContext<BuildRESTFunction<typeof publishDraftAutomation$1> & typeof publishDraftAutomation$1>;
declare const validateAutomation: MaybeContext<BuildRESTFunction<typeof validateAutomation$1> & typeof validateAutomation$1>;
declare const validateAutomationById: MaybeContext<BuildRESTFunction<typeof validateAutomationById$1> & typeof validateAutomationById$1>;
declare const getActionsQuotaInfo: MaybeContext<BuildRESTFunction<typeof getActionsQuotaInfo$1> & typeof getActionsQuotaInfo$1>;
declare const generateActionInputMappingFromTemplate: MaybeContext<BuildRESTFunction<typeof generateActionInputMappingFromTemplate$1> & typeof generateActionInputMappingFromTemplate$1>;
declare const queryAutomations: MaybeContext<BuildRESTFunction<typeof customQueryAutomations> & typeof customQueryAutomations>;
/**
 * Triggered when an automation is created.
 */
declare const onAutomationCreated: BuildEventDefinition<typeof onAutomationCreated$1> & typeof onAutomationCreated$1;
/**
 * Triggered when an automation is deleted.
 */
declare const onAutomationDeleted: BuildEventDefinition<typeof onAutomationDeleted$1> & typeof onAutomationDeleted$1;
/**
 * Triggered when an automation is updated.
 */
declare const onAutomationUpdated: BuildEventDefinition<typeof onAutomationUpdated$1> & typeof onAutomationUpdated$1;

export { Automation, AutomationCreatedEnvelope, AutomationDeletedEnvelope, AutomationQuery, AutomationUpdatedEnvelope, AutomationsQueryBuilder, BulkCountAutomationsWithDraftsOptions, BulkCountAutomationsWithDraftsResponse, BulkDeleteAutomationsResponse, CopyAutomationOptions, CopyAutomationResponse, CreateAutomationFromTemplateIdResponse, CreateDraftAutomationFromTemplateIdResponse, CreateDraftAutomationOptions, CreateDraftAutomationResponse, CreatePreinstalledAutomationOptions, CreatePreinstalledAutomationResponse, CursorQuery, DeletePreinstalledAutomationOptions, GenerateActionInputMappingFromTemplateOptions, GenerateActionInputMappingFromTemplateResponse, GeneratePreinstalledAutomationOptions, GeneratePreinstalledAutomationResponse, GetActionsQuotaInfoResponse, GetAggregatedUsageInfoOptions, GetAggregatedUsageInfoResponse, GetAutomationRevisionOptions, GetAutomationRevisionResponse, GetOrCreateDraftAutomationResponse, PublishDraftAutomationResponse, QueryAutomationsOptions, QueryAutomationsWithDraftsOptions, QueryAutomationsWithDraftsResponse, QueryPreinstalledAutomationsForAppOptions, QueryPreinstalledAutomationsForAppResponse, QueryPreinstalledAutomationsResponse, UpdateAutomation, UpdateDraftAutomation, UpdateDraftAutomationResponse, UpdatePreinstalledAutomationOptions, UpdatePreinstalledAutomationResponse, ValidateAutomationByIdOptions, ValidateAutomationByIdResponse, ValidateAutomationOptions, ValidateAutomationResponse, bulkCountAutomationsWithDrafts, bulkDeleteAutomations, copyAutomation, createAutomation, createAutomationFromTemplateId, createDraftAutomation, createDraftAutomationFromTemplateId, createPreinstalledAutomation, deleteAutomation, deleteDraftAutomation, deletePreinstalledAutomation, generateActionInputMappingFromTemplate, generatePreinstalledAutomation, getActionsQuotaInfo, getAggregatedUsageInfo, getAutomation, getAutomationRevision, getOrCreateDraftAutomation, onAutomationCreated, onAutomationDeleted, onAutomationUpdated, publishDraftAutomation, queryAutomations, queryAutomationsWithDrafts, queryPreinstalledAutomations, queryPreinstalledAutomationsForApp, updateAutomation, updateDraftAutomation, updatePreinstalledAutomation, validateAutomation, validateAutomationById };
