import ImgixClient from '@imgix/js-core'; /** * This type extends the first parameter of the constructor parameters of the * ImgixClient class (i.e. what you would pass to new ImgixClient()), and * explicitly adds ixlib, since we expose a way to set this programatically. */ export declare type CreateImgixClientParams = ConstructorParameters[0] & { ixlib?: string; }; /** * An FP wrapper around new ImgixClient() * @param param0 any options that can be passed to new ImgixClient(), and also allows overriding ixlib. */ export declare const createImgixClient: ({ ixlib, ...options }: CreateImgixClientParams) => ImgixClient; /** * Used by createImgixURLBuilder, common code extracted here to avoid code duplication. */ export declare const createURLBuilderFn: (fn: T) => (options?: Parameters[0]) => (...args: Parameters) => string; /** * Build a functional ImgixClient. Allows this application to use ImgixClient in a functional manner rather than a instance/class-based manner. * @param options options to pass to new ImgixClient, with extra options accepted by createImgixClient */ export declare const createImgixURLBuilder: (options?: Parameters[0]) => IImgixURLBuilder; export declare type IBuildImgixUrl = ImgixClient['buildURL']; export declare type IBuildImgixSrcSet = ImgixClient['buildSrcSet']; /** * This interface represents the minimal subset of functions/methods that this plugin uses of the entire ImgixClient. This allows the interface to be reimplemented in a functional manner, rather than in a class/instance manner. * See createImgixURLBuilder for an implementation of this interface. */ export declare type IImgixURLBuilder = { buildURL: IBuildImgixUrl; buildSrcSet: IBuildImgixSrcSet; }; //# sourceMappingURL=imgix-js-core-wrapper.d.ts.map