import '@shopify/shopify-api/adapters/web-api';
import { ShopifyRestResources } from '@shopify/shopify-api';
import { SessionStorage } from '@shopify/shopify-app-session-storage';
import { type AppConfigArg } from './config-types';
import { type BasicParams, type ShopifyApp } from './types';
import { FutureFlagOptions } from './future/flags';
/**
* Creates an object your app will use to interact with Shopify.
*
* @param appConfig Configuration options for your Shopify app, such as the scopes your app needs.
* @returns `ShopifyApp` An object constructed using your appConfig. It has methods for interacting with Shopify.
*
* @example
*
The minimum viable configuration
* ```ts
* // /shopify.server.ts
* import { shopifyApp } from "@shopify/shopify-app-remix/server";
*
* const shopify = shopifyApp({
* apiKey: process.env.SHOPIFY_API_KEY!,
* apiSecretKey: process.env.SHOPIFY_API_SECRET!,
* scopes: process.env.SCOPES?.split(",")!,
* appUrl: process.env.SHOPIFY_APP_URL!,
* });
* export default shopify;
* ```
*/
export declare function shopifyApp, Resources extends ShopifyRestResources, Storage extends SessionStorage, Future extends FutureFlagOptions = Config['future']>(appConfig: Readonly): ShopifyApp;
export declare function deriveApi(appConfig: AppConfigArg): BasicParams['api'];
//# sourceMappingURL=shopify-app.d.ts.map