import type { Options } from 'ky';
import { GetProductBlankMockupsSearchParams, GetProductMockupsSearchParams, GetProductMockupTemplatesSearchParams, GetProductSearchParams, GetProductSizeGuideSearchParams, GetProductStockAvailabilitySearchParams, GetVariantStockAvailabilitySearchParams, GetVarianttBlankMockupsSearchParams, Locale, ListProductCategoriesSearchParams, ListProductPricesSearchParams, ListProductsSearchParams, ListProductVariantPricesSearchParams } from '@printful-ts/schemas';
import { PrintfulApiService } from './printful-api.service';
export declare class CatalogProductsService extends PrintfulApiService {
    listProducts(params?: ListProductsSearchParams, options?: Options): Promise<{
        _links?: {
            self?: {
                href?: string;
            };
            first?: {
                href?: string;
            };
            last?: {
                href?: string;
            };
            next?: {
                href?: string;
            };
            previous?: {
                href?: string;
            };
        };
        data?: {
            type?: string;
            description?: string;
            brand?: string;
            name?: string;
            id?: number;
            _links?: {
                self?: {
                    href?: string;
                };
                variants?: {
                    href?: string;
                };
                categories?: {
                    href?: string;
                };
                product_prices?: {
                    href?: string;
                };
                product_sizes?: {
                    href?: string;
                };
                product_images?: {
                    href?: string;
                };
                availability?: {
                    href?: string;
                };
            };
            techniques?: {
                key?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm";
                display_name?: string;
                is_default?: boolean;
            }[];
            placements?: {
                placement_options?: {
                    values?: unknown[];
                    type?: string;
                    name?: string;
                    techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
                }[];
                layers?: {
                    type?: string;
                    layer_options?: {
                        values?: unknown[];
                        type?: string;
                        name?: string;
                        techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
                    }[];
                }[];
                placement?: string;
                technique?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm";
                print_area_width?: number;
                print_area_height?: number;
                conflicting_placements?: string[];
            }[];
            product_options?: {
                values?: unknown[];
                type?: string;
                name?: string;
                techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
            }[];
            image?: string;
            main_category_id?: number;
            model?: string;
            variant_count?: number;
            is_discontinued?: boolean;
            sizes?: string[];
            colors?: {
                value?: string;
                name?: string;
            }[];
        }[];
        paging?: {
            total?: number;
            offset?: number;
            limit?: number;
        };
    }>;
    getProduct(product_id: number, params: GetProductSearchParams, options?: Options): Promise<{
        data?: {
            type?: string;
            description?: string;
            brand?: string;
            name?: string;
            id?: number;
            _links?: {
                self?: {
                    href?: string;
                };
                variants?: {
                    href?: string;
                };
                categories?: {
                    href?: string;
                };
                product_prices?: {
                    href?: string;
                };
                product_sizes?: {
                    href?: string;
                };
                product_images?: {
                    href?: string;
                };
                availability?: {
                    href?: string;
                };
            };
            techniques?: {
                key?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm";
                display_name?: string;
                is_default?: boolean;
            }[];
            placements?: {
                placement_options?: {
                    values?: unknown[];
                    type?: string;
                    name?: string;
                    techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
                }[];
                layers?: {
                    type?: string;
                    layer_options?: {
                        values?: unknown[];
                        type?: string;
                        name?: string;
                        techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
                    }[];
                }[];
                placement?: string;
                technique?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm";
                print_area_width?: number;
                print_area_height?: number;
                conflicting_placements?: string[];
            }[];
            product_options?: {
                values?: unknown[];
                type?: string;
                name?: string;
                techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
            }[];
            image?: string;
            main_category_id?: number;
            model?: string;
            variant_count?: number;
            is_discontinued?: boolean;
            sizes?: string[];
            colors?: {
                value?: string;
                name?: string;
            }[];
        };
    }>;
    listProductVariants(product_id: number, locale?: Locale, options?: Options): Promise<{
        _links?: {
            self?: {
                href?: string;
            };
            first?: {
                href?: string;
            };
            last?: {
                href?: string;
            };
            next?: {
                href?: string;
            };
            previous?: {
                href?: string;
            };
            product_details?: {
                href?: string;
            };
        };
        data?: {
            size?: string;
            name?: string;
            id?: number;
            _links?: {
                self?: {
                    href?: string;
                };
                product_details?: {
                    href?: string;
                };
                product_variants?: {
                    href?: string;
                };
                variant_prices?: {
                    href?: string;
                };
                variant_images?: {
                    href?: string;
                };
                variant_availability?: {
                    href?: string;
                };
            };
            catalog_product_id?: number;
            image?: string;
            color?: string;
            color_code?: string;
            color_code2?: string;
        }[];
        paging?: {
            total?: number;
            offset?: number;
            limit?: number;
        };
    }>;
    getProductVariant(variant_id: number, locale?: Locale, options?: Options): Promise<{
        _links?: {
            self?: {
                href?: string;
            };
            product_details?: {
                href?: string;
            };
            product_variants?: {
                href?: string;
            };
            variant_prices?: {
                href?: string;
            };
            variant_images?: {
                href?: string;
            };
        };
        data?: {
            size?: string;
            name?: string;
            id?: number;
            _links?: {
                self?: {
                    href?: string;
                };
                product_details?: {
                    href?: string;
                };
                product_variants?: {
                    href?: string;
                };
                variant_prices?: {
                    href?: string;
                };
                variant_images?: {
                    href?: string;
                };
                variant_availability?: {
                    href?: string;
                };
            };
            catalog_product_id?: number;
            image?: string;
            color?: string;
            color_code?: string;
            color_code2?: string;
        }[];
    }>;
    listProductCategories(product_id: number, params: ListProductCategoriesSearchParams, options?: Options): Promise<{
        _links?: {
            self?: {
                href?: string;
            };
            first?: {
                href?: string;
            };
            last?: {
                href?: string;
            };
            next?: {
                href?: string;
            };
            previous?: {
                href?: string;
            };
            all_categories?: {
                href?: string;
            };
        };
        data?: {
            title?: string;
            id?: number;
            parent_id?: number;
            image_url?: string;
            _links?: {
                self?: {
                    href?: string;
                };
            };
        }[];
        paging?: {
            total?: number;
            offset?: number;
            limit?: number;
        };
    }>;
    listCategories(options?: Options): Promise<{
        _links?: {
            self?: {
                href?: string;
            };
            first?: {
                href?: string;
            };
            last?: {
                href?: string;
            };
            next?: {
                href?: string;
            };
            previous?: {
                href?: string;
            };
        };
        data?: {
            title?: string;
            id?: number;
            parent_id?: number;
            image_url?: string;
            _links?: {
                self?: {
                    href?: string;
                };
            };
        }[];
    }>;
    getCategory(category_id: number, options?: Options): Promise<{
        _links?: {
            all_categories?: {
                href?: string;
            };
        };
        data?: {
            title?: string;
            id?: number;
            parent_id?: number;
            image_url?: string;
            _links?: {
                self?: {
                    href?: string;
                };
            };
        };
    }>;
    getProductSizeGuide(product_id: number, params?: GetProductSizeGuideSearchParams, options?: Options): Promise<{
        _links?: {
            self?: {
                href?: string;
            };
            product_details?: {
                href?: string;
            };
        };
        data?: {
            catalog_product_id?: number;
            available_sizes?: string[];
            size_tables?: {
                type?: "measure_yourself" | "product_measure" | "international";
                description?: string;
                image_url?: string;
                unit?: "inches" | "cm";
                image_description?: string;
                measurements?: {
                    values?: ({
                        value?: string;
                        size?: string;
                    } | {
                        size?: string;
                        min_value?: string;
                        max_value?: string;
                    })[];
                    type_label?: string;
                    unit?: "inches" | "cm";
                }[];
            }[];
        };
    }>;
    listProductPrices(product_id: number, params?: ListProductPricesSearchParams, options?: Options): Promise<{
        _links?: {
            self?: {
                href?: string;
            };
            first?: {
                href?: string;
            };
            last?: {
                href?: string;
            };
            next?: {
                href?: string;
            };
            previous?: {
                href?: string;
            };
            product_details?: {
                href?: string;
            };
        };
        data?: {
            currency?: string;
            product?: {
                id?: number;
                placements?: {
                    type?: string;
                    title?: string;
                    price?: string;
                    id?: string;
                    technique_key?: string;
                    discounted_price?: string;
                    placement_options?: {
                        values?: any[][];
                        type?: string;
                        description?: string;
                        name?: string;
                        prices?: any;
                    }[];
                    layers?: {
                        type?: string;
                        additional_price?: string;
                        layer_options?: {
                            values?: any[][];
                            type?: string;
                            description?: string;
                            name?: string;
                            prices?: any;
                        }[];
                    }[];
                }[];
            };
            variants?: {
                id?: number;
                techniques?: {
                    price?: string;
                    technique_key?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm";
                    discounted_price?: string;
                    technique_display_name?: string;
                }[];
            }[];
        }[];
        paging?: {
            total?: number;
            offset?: number;
            limit?: number;
        };
    }>;
    listProductVariantPrices(variant_id: number, params?: ListProductVariantPricesSearchParams, options?: Options): Promise<{
        _links?: {
            self?: {
                href?: string;
            };
            first?: {
                href?: string;
            };
            last?: {
                href?: string;
            };
            next?: {
                href?: string;
            };
            previous?: {
                href?: string;
            };
            product_details?: {
                href?: string;
            };
            product_prices?: {
                href?: string;
            };
        };
        data?: {
            currency?: string;
            product?: {
                id?: number;
                placements?: {
                    type?: string;
                    title?: string;
                    price?: string;
                    id?: string;
                    technique_key?: string;
                    discounted_price?: string;
                    placement_options?: {
                        values?: any[][];
                        type?: string;
                        description?: string;
                        name?: string;
                        prices?: any;
                    }[];
                    layers?: {
                        type?: string;
                        additional_price?: string;
                        layer_options?: {
                            values?: any[][];
                            type?: string;
                            description?: string;
                            name?: string;
                            prices?: any;
                        }[];
                    }[];
                }[];
            };
            variant?: {
                id?: number;
                techniques?: {
                    price?: string;
                    technique_key?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm";
                    discounted_price?: string;
                    technique_display_name?: string;
                }[];
            };
        }[];
        paging?: {
            total?: number;
            offset?: number;
            limit?: number;
        };
    }>;
    getProductBlankMockups(product_id: number, params: GetProductBlankMockupsSearchParams, options: Options): Promise<{
        _links?: {
            product_details?: {
                href?: string;
            };
            _self?: {
                href?: string;
            };
        };
        data?: {
            catalog_variant_id?: number;
            color?: string;
            primary_hex_color?: string;
            secondary_hex_color?: string;
            images?: {
                image_url?: string;
                placement?: string;
                background_color?: string;
                background_image?: string;
            }[];
        }[];
        paging?: {
            total?: number;
            offset?: number;
            limit?: number;
        };
    }>;
    getProductVariantBlankMockups(variant_id: number, params: GetVarianttBlankMockupsSearchParams, options: Options): Promise<{
        _links?: {
            _self?: {
                href?: string;
            };
            variant_details?: {
                href?: string;
            };
        };
        data?: {
            catalog_variant_id?: number;
            color?: string;
            primary_hex_color?: string;
            secondary_hex_color?: string;
            images?: {
                image_url?: string;
                placement?: string;
                background_color?: string;
                background_image?: string;
            }[];
        }[];
    }>;
    getProductMockups(product_id: number, params: GetProductMockupsSearchParams, options: Options): Promise<{
        _links?: {
            self?: {
                href?: string;
            };
            first?: {
                href?: string;
            };
            last?: {
                href?: string;
            };
            next?: {
                href?: string;
            };
            previous?: {
                href?: string;
            };
            product?: {
                href?: string;
            };
        };
        data?: {
            display_name?: string;
            placement?: string;
            technique?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm";
            print_area_width?: number;
            print_area_height?: number;
            print_area_type?: "advanced" | "simple";
            dpi?: number;
            mockup_styles?: {
                id?: number;
                category_name?: string;
                view_name?: string;
                restricted_to_variants?: any[][];
            }[];
        }[];
        paging?: {
            total?: number;
            offset?: number;
            limit?: number;
        };
    }>;
    getProductMockupTemplates(product_id: number, params: GetProductMockupTemplatesSearchParams, options: Options): Promise<{
        _links?: {
            self?: {
                href?: string;
            };
            first?: {
                href?: string;
            };
            last?: {
                href?: string;
            };
            next?: {
                href?: string;
            };
            previous?: {
                href?: string;
            };
            product?: {
                href?: string;
            };
        };
        data?: {
            image_url?: string;
            placement?: string;
            technique?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm";
            print_area_width?: number;
            print_area_height?: number;
            catalog_variant_ids?: number[];
            background_url?: string;
            background_color?: string;
            template_width?: number;
            template_height?: number;
            print_area_top?: number;
            print_area_left?: number;
            template_positioning?: "overlay" | "background";
            orientation?: "horizontal" | "vertical" | "any";
            template_type?: "custom" | "native" | "color_group" | "advanced";
        }[];
        paging?: {
            total?: number;
            offset?: number;
            limit?: number;
        };
    }>;
    getProductStockAvailability(product_id: number, params?: GetProductStockAvailabilitySearchParams, options?: Options): Promise<{
        _links?: {
            self?: {
                href?: string;
            };
            first?: {
                href?: string;
            };
            last?: {
                href?: string;
            };
            next?: {
                href?: string;
            };
            previous?: {
                href?: string;
            };
            product?: {
                href?: string;
            };
        };
        data?: {
            _links?: {
                variant?: {
                    href?: string;
                };
            };
            techniques?: {
                technique?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm";
                selling_regions?: {
                    name?: "worldwide" | "north_america" | "canada" | "europe" | "spain" | "latvia" | "uk" | "france" | "germany" | "australia" | "japan" | "new_zealand" | "italy" | "brazil" | "southeast_asia" | "republic_of_korea" | "english_speaking_regions" | "all";
                    availability?: "unknown" | "in stock" | "out of stock" | "not fulfillable";
                    placement_option_availability?: {
                        name?: string;
                        availability?: "unknown" | "in stock" | "out of stock" | "not fulfillable";
                    }[];
                }[];
            }[];
            catalog_variant_id?: number;
        }[];
        paging?: {
            total?: number;
            offset?: number;
            limit?: number;
        };
        filter_settings?: {
            value?: string;
            name?: string;
        };
    }>;
    getProductVariantStockAvailability(variant_id: number, params?: GetVariantStockAvailabilitySearchParams, options?: Options): Promise<{
        _links?: {
            self?: {
                href?: string;
            };
            variant?: {
                href?: string;
            };
        };
        data?: {
            _links?: {
                variant?: {
                    href?: string;
                };
            };
            techniques?: {
                technique?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm";
                selling_regions?: {
                    name?: "worldwide" | "north_america" | "canada" | "europe" | "spain" | "latvia" | "uk" | "france" | "germany" | "australia" | "japan" | "new_zealand" | "italy" | "brazil" | "southeast_asia" | "republic_of_korea" | "english_speaking_regions" | "all";
                    availability?: "unknown" | "in stock" | "out of stock" | "not fulfillable";
                    placement_option_availability?: {
                        name?: string;
                        availability?: "unknown" | "in stock" | "out of stock" | "not fulfillable";
                    }[];
                }[];
            }[];
            catalog_variant_id?: number;
        };
        filter_settings?: {
            value?: string;
            name?: string;
        };
    }>;
}
