import { CodecPropertyConfig, CommerceCodec, CommerceCodecType } from '../../core'; import { GetProductsArgs, PaginationArgs, Product } from '../../../../common'; import { ScayleProduct } from './types'; import { StringProperty } from '../../../../codec/cms-property-types'; export declare type CodecConfig = { access_token: StringProperty; shop_id: StringProperty; tenant_space: StringProperty; api_version: StringProperty; image_base_path?: StringProperty; api_base_url?: StringProperty; }; export declare class ScayleCodecType extends CommerceCodecType { get vendor(): string; get properties(): CodecConfig; getApi(config: CodecPropertyConfig): any; } export declare class ScayleCodec extends CommerceCodec { config: CodecPropertyConfig; getPage: (axios: import("axios").AxiosStatic, url: string, config: import("axios").AxiosRequestConfig, params?: any) => (page: number, pageSize: number) => Promise<{ data: T[]; total: number; }>; init(codecType: CommerceCodecType): Promise; getAxiosConfig(): { method: string; baseURL: string; headers: { 'X-Access-Token': string; Accept: string; 'Content-Type': string; }; }; getProductRequestParams(): { shopId: string; with: string; }; getProducts(args: GetProductsArgs): Promise; getRawProducts(args: GetProductsArgs): Promise; getProductByIds(ids: string, args: PaginationArgs): Promise; getProductsByKeyword(keyword: string, args: PaginationArgs): Promise; getProductsByCategoryIds(categoryIds: string, args: PaginationArgs): Promise; cacheCategoryTree(): Promise; } export default ScayleCodecType;