/// declare const _default: { register: ({ strapi }: { strapi: import("@strapi/types/dist/core").Strapi; }) => void; bootstrap: ({ strapi }: { strapi: import("@strapi/types/dist/core").Strapi; }) => Promise; destroy: ({ strapi }: { strapi: import("@strapi/types/dist/core").Strapi; }) => void; config: { default: { host: string; engine: string; encryptionKey: string; }; /** * Plugin server methods */ validator(config: unknown): void; }; controllers: { webhook: ({ strapi }: import("./@types").StrapiContext) => { handleWebhook(ctx: import("koa").Context): Promise<{}>; }; admin: ({ strapi }: import("./@types").StrapiContext) => { getSettings(): Promise<{ shops?: { vendor?: string; address?: string; apiKey?: string; apiSecretKey?: string; adminApiAccessToken?: string; isActive?: boolean; webhooks?: { topic?: import("./@types/shopify").WebhookSubscriptionTopic.ProductsCreate | import("./@types/shopify").WebhookSubscriptionTopic.ProductsDelete | import("./@types/shopify").WebhookSubscriptionTopic.ProductsUpdate; method?: string; service?: string; }[]; }[]; }>; restore(): Promise; getServices(ctx: import("./@types/koa").RequestContext): Promise<{ name: string; methods: string[]; }[]>; getShops(ctx: import("./@types/koa").RequestContext): Promise<({ adminApiAccessToken: string; apiKey: string; apiSecretKey: string; id?: number; createdAt?: string; updatedAt?: string; publishedAt?: string; vendor?: string; locale?: string[]; documentId?: string; address?: string; isActive?: boolean; } | { adminApiAccessToken: string; apiKey: string; apiSecretKey: string; id?: number; createdAt?: string; updatedAt?: string; publishedAt?: string; vendor?: string; locale?: string[]; documentId?: string; address?: string; isActive?: boolean; webhooks?: { id?: number; topic?: import("./@types/shopify").WebhookSubscriptionTopic.ProductsCreate | import("./@types/shopify").WebhookSubscriptionTopic.ProductsDelete | import("./@types/shopify").WebhookSubscriptionTopic.ProductsUpdate; format?: import("./@types/shopify").WebhookSubscriptionFormat.Json; callbackUrl?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; method?: string; service?: string; documentId?: string; shopifyId?: string; errors?: string[]; }[]; })[] | import("koa").Context>; getShop(ctx: import("./@types/koa").RequestContext): Promise<{ apiKey: string; apiSecretKey: string; adminApiAccessToken: string; id?: number; createdAt?: string; updatedAt?: string; publishedAt?: string; vendor?: string; locale?: string[]; documentId?: string; address?: string; isActive?: boolean; } | import("koa").Context>; addShop(ctx: import("./@types/koa").RequestContext): Promise<{ id?: number; createdAt?: string; updatedAt?: string; publishedAt?: string; vendor?: string; locale?: string[]; documentId?: string; address?: string; apiKey?: string; apiSecretKey?: string; adminApiAccessToken?: string; isActive?: boolean; webhooks?: { id?: number; topic?: import("./@types/shopify").WebhookSubscriptionTopic.ProductsCreate | import("./@types/shopify").WebhookSubscriptionTopic.ProductsDelete | import("./@types/shopify").WebhookSubscriptionTopic.ProductsUpdate; format?: import("./@types/shopify").WebhookSubscriptionFormat.Json; callbackUrl?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; method?: string; service?: string; documentId?: string; shopifyId?: string; errors?: string[]; }[]; } | import("koa").Context>; removeShop(ctx: import("./@types/koa").RequestContext): Promise; updateShop(ctx: import("./@types/koa").RequestContext): Promise<{ id?: number; createdAt?: string; updatedAt?: string; publishedAt?: string; vendor?: string; locale?: string[]; documentId?: string; address?: string; apiKey?: string; apiSecretKey?: string; adminApiAccessToken?: string; isActive?: boolean; } | import("koa").Context>; }; contentManager: ({ strapi }: import("./@types").StrapiContext) => { getVendors(ctx: import("./@types/koa").RequestContext): Promise; getProducts(ctx: import("./@types/koa").RequestContext): Promise; }; }; routes: { 'content-api': { type: string; routes: import("./routes/types").StrapiRoute<"webhook">[]; }; admin: { type: string; routes: (import("./routes/types").StrapiRoute<"admin"> | import("./routes/types").StrapiRoute<"contentManager">)[]; }; }; services: { webhook: ({ strapi }: import("./@types").StrapiContext) => { create(vendor: string, hooks: { id?: number; topic?: import("./@types/shopify").WebhookSubscriptionTopic.ProductsCreate | import("./@types/shopify").WebhookSubscriptionTopic.ProductsDelete | import("./@types/shopify").WebhookSubscriptionTopic.ProductsUpdate; format?: import("./@types/shopify").WebhookSubscriptionFormat.Json; callbackUrl?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; method?: string; service?: string; documentId?: string; shopifyId?: string; errors?: string[]; shop?: { id?: number; }; }[]): Promise<{ id?: number; topic?: import("./@types/shopify").WebhookSubscriptionTopic.ProductsCreate | import("./@types/shopify").WebhookSubscriptionTopic.ProductsDelete | import("./@types/shopify").WebhookSubscriptionTopic.ProductsUpdate; format?: import("./@types/shopify").WebhookSubscriptionFormat.Json; callbackUrl?: string; shopifyId?: string; errors?: string[]; }[]>; validate(vendor: string, webhook: { id?: number; topic?: import("./@types/shopify").WebhookSubscriptionTopic.ProductsCreate | import("./@types/shopify").WebhookSubscriptionTopic.ProductsDelete | import("./@types/shopify").WebhookSubscriptionTopic.ProductsUpdate; format?: import("./@types/shopify").WebhookSubscriptionFormat.Json; callbackUrl?: string; shopifyId?: string; errors?: string[]; }[]): Promise<{ [x: string]: boolean; }>; remove(vendor: string, webhookId: string[]): Promise<{ id: string; hasError: boolean; errors: string[]; }[]>; }; shopify: ({ strapi }: import("./@types").StrapiContext) => { init(shopsConfig: { id?: number; createdAt?: string; updatedAt?: string; publishedAt?: string; vendor?: string; locale?: string[]; documentId?: string; address?: string; apiKey?: string; apiSecretKey?: string; adminApiAccessToken?: string; isActive?: boolean; webhooks?: { id?: number; topic?: import("./@types/shopify").WebhookSubscriptionTopic.ProductsCreate | import("./@types/shopify").WebhookSubscriptionTopic.ProductsDelete | import("./@types/shopify").WebhookSubscriptionTopic.ProductsUpdate; format?: import("./@types/shopify").WebhookSubscriptionFormat.Json; callbackUrl?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; method?: string; service?: string; documentId?: string; shopifyId?: string; errors?: string[]; }[]; }[]): Promise; getProductsById(vendor: string, products: string[]): Promise & { translations: (Pick & { market?: Pick & { metafields: { nodes: Pick[]; }; }; })[]; priceRangeV2: { maxVariantPrice: Pick; minVariantPrice: Pick; }; variants: { nodes: (Pick & { image?: Pick & { metafields: { nodes: Pick[]; }; }; })[]; }; featuredMedia?: (Pick & { preview?: { image?: Pick; }; }) | (Pick & { preview?: { image?: Pick; }; }) | (Pick & { preview?: { image?: Pick; }; }) | (Pick & { preview?: { image?: Pick; }; }); category?: Pick; media: { nodes: ((Pick & { preview?: { image?: Pick; }; }) | (Pick & { preview?: { image?: Pick; }; }) | (Pick & { preview?: { image?: Pick; }; }) | (Pick & { preview?: { image?: Pick; }; }))[]; }; }>>; searchProducts(vendor: string, query: string): Promise; }; admin: ({ strapi }: import("./@types").StrapiContext) => { settings: { getSettings(hideSensitiveData?: boolean): Promise<{ shops?: { vendor?: string; address?: string; apiKey?: string; apiSecretKey?: string; adminApiAccessToken?: string; isActive?: boolean; webhooks?: { topic?: import("./@types/shopify").WebhookSubscriptionTopic.ProductsCreate | import("./@types/shopify").WebhookSubscriptionTopic.ProductsDelete | import("./@types/shopify").WebhookSubscriptionTopic.ProductsUpdate; method?: string; service?: string; }[]; }[]; }>; restore(): Promise; }; shops: { getShops(query: { isActive?: boolean; populate?: { webhooks?: boolean; }; page?: number; pageSize?: number; }): Promise<({ adminApiAccessToken: string; apiKey: string; apiSecretKey: string; id?: number; createdAt?: string; updatedAt?: string; publishedAt?: string; vendor?: string; locale?: string[]; documentId?: string; address?: string; isActive?: boolean; } | { adminApiAccessToken: string; apiKey: string; apiSecretKey: string; id?: number; createdAt?: string; updatedAt?: string; publishedAt?: string; vendor?: string; locale?: string[]; documentId?: string; address?: string; isActive?: boolean; webhooks?: { id?: number; topic?: import("./@types/shopify").WebhookSubscriptionTopic.ProductsCreate | import("./@types/shopify").WebhookSubscriptionTopic.ProductsDelete | import("./@types/shopify").WebhookSubscriptionTopic.ProductsUpdate; format?: import("./@types/shopify").WebhookSubscriptionFormat.Json; callbackUrl?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; method?: string; service?: string; documentId?: string; shopifyId?: string; errors?: string[]; }[]; })[]>; getShop({ id, populate }: { id?: number; populate?: { webhooks?: boolean; }; }): Promise<{ apiKey: string; apiSecretKey: string; adminApiAccessToken: string; id?: number; createdAt?: string; updatedAt?: string; publishedAt?: string; vendor?: string; locale?: string[]; documentId?: string; address?: string; isActive?: boolean; } | { apiKey: string; apiSecretKey: string; adminApiAccessToken: string; id?: number; createdAt?: string; updatedAt?: string; publishedAt?: string; vendor?: string; locale?: string[]; documentId?: string; address?: string; isActive?: boolean; webhooks?: { id?: number; topic?: import("./@types/shopify").WebhookSubscriptionTopic.ProductsCreate | import("./@types/shopify").WebhookSubscriptionTopic.ProductsDelete | import("./@types/shopify").WebhookSubscriptionTopic.ProductsUpdate; format?: import("./@types/shopify").WebhookSubscriptionFormat.Json; callbackUrl?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; method?: string; service?: string; documentId?: string; shopifyId?: string; errors?: string[]; }[]; }>; addShop(shop: { id?: number; vendor?: string; address?: string; apiKey?: string; apiSecretKey?: string; adminApiAccessToken?: string; isActive?: boolean; webhooks?: { topic?: import("./@types/shopify").WebhookSubscriptionTopic.ProductsCreate | import("./@types/shopify").WebhookSubscriptionTopic.ProductsDelete | import("./@types/shopify").WebhookSubscriptionTopic.ProductsUpdate; method?: string; service?: string; }[]; }): Promise<{ id?: number; createdAt?: string; updatedAt?: string; publishedAt?: string; vendor?: string; locale?: string[]; documentId?: string; address?: string; apiKey?: string; apiSecretKey?: string; adminApiAccessToken?: string; isActive?: boolean; webhooks?: { id?: number; topic?: import("./@types/shopify").WebhookSubscriptionTopic.ProductsCreate | import("./@types/shopify").WebhookSubscriptionTopic.ProductsDelete | import("./@types/shopify").WebhookSubscriptionTopic.ProductsUpdate; format?: import("./@types/shopify").WebhookSubscriptionFormat.Json; callbackUrl?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; method?: string; service?: string; documentId?: string; shopifyId?: string; errors?: string[]; }[]; }>; removeShop(id: number): Promise; updateShop(newShop: { id?: number; vendor?: string; address?: string; apiKey?: string; apiSecretKey?: string; adminApiAccessToken?: string; isActive?: boolean; webhooks?: { topic?: import("./@types/shopify").WebhookSubscriptionTopic.ProductsCreate | import("./@types/shopify").WebhookSubscriptionTopic.ProductsDelete | import("./@types/shopify").WebhookSubscriptionTopic.ProductsUpdate; method?: string; service?: string; }[]; }): Promise<{ id?: number; createdAt?: string; updatedAt?: string; publishedAt?: string; vendor?: string; locale?: string[]; documentId?: string; address?: string; apiKey?: string; apiSecretKey?: string; adminApiAccessToken?: string; isActive?: boolean; }>; }; services: { getServices(): { name: string; methods: string[]; }[]; }; }; shop: ({ strapi }: import("./@types").StrapiContext) => { getConfig(vendor: string): Promise<{ id?: number; createdAt?: string; updatedAt?: string; publishedAt?: string; vendor?: string; locale?: string[]; documentId?: string; address?: string; apiKey?: string; apiSecretKey?: string; adminApiAccessToken?: string; isActive?: boolean; } | { id?: number; createdAt?: string; updatedAt?: string; publishedAt?: string; vendor?: string; locale?: string[]; documentId?: string; address?: string; apiKey?: string; apiSecretKey?: string; adminApiAccessToken?: string; isActive?: boolean; webhooks?: { id?: number; topic?: import("./@types/shopify").WebhookSubscriptionTopic.ProductsCreate | import("./@types/shopify").WebhookSubscriptionTopic.ProductsDelete | import("./@types/shopify").WebhookSubscriptionTopic.ProductsUpdate; format?: import("./@types/shopify").WebhookSubscriptionFormat.Json; callbackUrl?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; method?: string; service?: string; documentId?: string; shopifyId?: string; errors?: string[]; }[]; }>; getOrCreateWithConfig(shopifyShop: { vendor?: string; address?: string; apiKey?: string; apiSecretKey?: string; adminApiAccessToken?: string; isActive?: boolean; webhooks?: { topic?: import("./@types/shopify").WebhookSubscriptionTopic.ProductsCreate | import("./@types/shopify").WebhookSubscriptionTopic.ProductsDelete | import("./@types/shopify").WebhookSubscriptionTopic.ProductsUpdate; method?: string; service?: string; }[]; }): { shop: import("@shopify/shopify-api").Shopify, import("@shopify/shopify-api").ShopifyRestResources, import("@shopify/shopify-api/dist/ts/future/flags").FutureFlags>; config: { id?: number; createdAt?: string; updatedAt?: string; publishedAt?: string; vendor?: string; locale?: string[]; documentId?: string; address?: string; apiKey?: string; apiSecretKey?: string; adminApiAccessToken?: string; isActive?: boolean; }; } | import("@shopify/shopify-api").Shopify<{ apiVersion: import("@shopify/shopify-api").ApiVersion.April25; isEmbeddedApp: false; apiKey: string; apiSecretKey: string; adminApiAccessToken: string; scopes: string[]; hostName: string; hostScheme: "http"; isCustomStoreApp: true; }, import("@shopify/shopify-api").ShopifyRestResources, import("@shopify/shopify-api/dist/ts/future/flags").FutureFlags>; getOrCreateShop(vendor: string): Promise<{ shop: import("@shopify/shopify-api").Shopify, import("@shopify/shopify-api").ShopifyRestResources, import("@shopify/shopify-api/dist/ts/future/flags").FutureFlags>; config: { id?: number; createdAt?: string; updatedAt?: string; publishedAt?: string; vendor?: string; locale?: string[]; documentId?: string; address?: string; apiKey?: string; apiSecretKey?: string; adminApiAccessToken?: string; isActive?: boolean; }; }>; remove(vendor: string): void; getOrCreateSession(vendor: string, cachedShopData?: { shop: import("@shopify/shopify-api").Shopify, import("@shopify/shopify-api").ShopifyRestResources, import("@shopify/shopify-api/dist/ts/future/flags").FutureFlags>; config: { id?: number; createdAt?: string; updatedAt?: string; publishedAt?: string; vendor?: string; locale?: string[]; documentId?: string; address?: string; apiKey?: string; apiSecretKey?: string; adminApiAccessToken?: string; isActive?: boolean; }; }): Promise; getGQLClient(vendor: string): Promise; getRestClient(vendor: string): Promise; }; cache: ({ strapi }: import("./@types").StrapiContext) => { get: (key: string) => Promise; set: (key: string, value: T_1) => Promise; has: (key: string) => Promise; }; }; contentTypes: { webhook: { schema: { collectionName: string; info: { description: string; singularName: string; pluralName: string; displayName: string; }; options: { draftAndPublish: boolean; }; pluginOptions: { 'content-manager': { visible: boolean; }; 'content-type-builder': { visible: boolean; }; }; attributes: { topic: { type: string; enum: import("./@types/shopify").WebhookSubscriptionTopic[]; required: boolean; }; shopifyId: { type: string; }; format: { type: string; enum: import("./@types/shopify").WebhookSubscriptionFormat[]; }; callbackUrl: { type: string; }; errors: { type: string; }; shop: { type: string; relation: string; target: string; inversedBy: string; }; service: { type: string; required: boolean; }; method: { type: string; required: boolean; }; }; }; }; shop: { schema: { collectionName: string; info: { description: string; singularName: string; pluralName: string; displayName: string; }; options: { draftAndPublish: boolean; }; pluginOptions: { 'content-manager': { visible: boolean; }; 'content-type-builder': { visible: boolean; }; }; attributes: { vendor: { type: string; required: boolean; }; address: { type: string; required: boolean; }; apiKey: { type: string; required: boolean; }; apiSecretKey: { type: string; required: boolean; }; isActive: { type: string; required: boolean; default: boolean; }; adminApiAccessToken: { type: string; required: boolean; }; webhooks: { type: string; relation: string; target: string; mappedBy: string; }; }; }; }; }; }; export default _default;