///
import { ShopCreate, ShopSettingsCreate, InventoryLocationCreate, GatewayCreate, WebhookCreate, ShippingProviderCreate, ShippingRuleCreate, PromotionCreate, CouponCreate, DomainCreate, ShopModify, ReviewDimensionCreate, CustomerCreate, ReviewDimensionSetCreate, CategoryCreate, ContentBlockCreate, MenuCreate, ReviewDimensionModify, CategoryModify, ContentBlockModify, MenuModify, GatewayModify, ShippingProviderModify, OptionCreate, OptionModify, FileStorage, ProductCreate, ProductModify, ProductVariantCreate, ProductVariantModify, CurrencyCreate, ProductReviewCreate, ProductQuestionCreate, VariantInventoryCreate, InventoryLocationModify, TaxRuleCreate, TaxRuleModify, ContentModelCreate, SurveyQuestionCreate, SurveyQuestionModify } from "./commerceTypes";
import { Context } from "./commerce";
export interface LoggerTree {
[k: string]: string | LoggerTree;
}
export interface LoggerBar {
start(total: number, startValue: number, payload?: object | undefined): void;
stop(): void;
increment(step?: number | undefined): void;
}
export interface Logger {
line(v: string): void;
bar(format: string): Bar;
tree(tree: LoggerTree): void;
}
export declare class NullLogger implements Logger {
line(): void;
bar(): {
start: () => void;
stop: () => void;
increment: () => void;
};
tree(): void;
}
export declare function deferredJSONObject(value: any): string;
export interface ExecutionResult {
resolvedIDs: Map;
}
export declare class Mutator {
private batches;
private get currentBatch();
private get q();
barrier(): void;
barrier(desc: string, data: T, func: (data: T) => Promise): void;
shop(req: ShopCreate): string;
shopModify(shopID: string, req: ShopModify): string;
shopSettings(shopID: string, req: ShopSettingsCreate): string;
taxRule(shopID: string, req: TaxRuleCreate): string;
taxRuleModify(shopID: string, id: string, req: TaxRuleModify): string;
taxRuleDelete(shopID: string, id: string): string;
taxRulesAddDefault(shopID: string, country: string): string;
returnReasonsAddDefault(shopID: string): string;
returnInspectionsAddDefault(shopID: string): string;
inventoryLocation(shopID: string, req: InventoryLocationCreate): string;
inventoryLocationModify(shopID: string, id: string, req: InventoryLocationModify, locale?: string): string;
gateway(shopID: string, req: GatewayCreate): string;
gatewayModify(shopID: string, id: string, req: GatewayModify, locale?: string): string;
webhook(shopID: string, req: WebhookCreate): string;
shippingProvider(shopID: string, req: ShippingProviderCreate): string;
shippingProviderModify(shopID: string, id: string, req: ShippingProviderModify, locale?: string): string;
shippingRule(shopID: string, req: ShippingRuleCreate): string;
promotion(shopID: string, req: PromotionCreate): string;
coupon(shopID: string, promotionID: string, req: CouponCreate): string;
domain(shopID: string, req: DomainCreate): string;
reviewDimension(shopID: string, req: ReviewDimensionCreate): string;
reviewDimensionModify(shopID: string, id: string, req: ReviewDimensionModify, locale?: string): string;
reviewDimensionSet(shopID: string, req: ReviewDimensionSetCreate): string;
customer(shopID: string, req: CustomerCreate): string;
category(shopID: string, req: CategoryCreate): string;
categoryModify(shopID: string, id: string, req: CategoryModify, locale?: string): string;
contentBlock(shopID: string, req: ContentBlockCreate): string;
contentBlockModify(shopID: string, id: string, req: ContentBlockModify, locale?: string): string;
contentModel(shopID: string, req: ContentModelCreate): string;
contentModelModify(shopID: string, id: string, req: ContentModelCreate, locale?: string): string;
menu(shopID: string, req: MenuCreate): string;
menuModify(shopID: string, id: string, req: MenuModify, locale?: string): string;
option(shopID: string, req: OptionCreate): string;
optionModify(shopID: string, id: string, req: OptionModify, locale?: string): string;
surveyQuestion(shopID: string, req: SurveyQuestionCreate): string;
surveyQuestionModify(shopID: string, id: string, req: SurveyQuestionModify, locale?: string): string;
uploadFile(shopID: string, name: string, data: Buffer, contentType: string, storage: FileStorage): string;
product(shopID: string, req: ProductCreate): string;
productModify(shopID: string, id: string, req: ProductModify, locale?: string): string;
variant(shopID: string, productID: string, req: ProductVariantCreate): string;
variantModify(shopID: string, id: string, req: ProductVariantModify, locale?: string): string;
currency(shopID: string, req: CurrencyCreate): string;
review(shopID: string, req: ProductReviewCreate): string;
question(shopID: string, req: ProductQuestionCreate): string;
variantInventory(shopID: string, variantID: string, req: VariantInventoryCreate): string;
private countTotalNumberOfItems;
execute(ctx: Context, logger?: Logger): Promise;
}