/**
 * Printify products service for Printify MCP
 */
import { PrintifyAPI } from '../printify-api.js';
/**
 * List products from Printify
 */
export declare function listProducts(printifyClient: PrintifyAPI, options?: {
    limit?: number;
    page?: number;
}): Promise<{
    success: boolean;
    products: any;
    response: {
        content: {
            type: string;
            text: string;
        }[];
    };
    error?: undefined;
    errorResponse?: undefined;
} | {
    success: boolean;
    error: any;
    errorResponse: {
        content: {
            type: string;
            text: string;
        }[];
        isError: boolean;
    };
    products?: undefined;
    response?: undefined;
}>;
/**
 * Get a product from Printify
 */
export declare function getProduct(printifyClient: PrintifyAPI, productId: string): Promise<{
    success: boolean;
    product: any;
    response: {
        content: {
            type: string;
            text: string;
        }[];
    };
    error?: undefined;
    errorResponse?: undefined;
} | {
    success: boolean;
    error: any;
    errorResponse: {
        content: {
            type: string;
            text: string;
        }[];
        isError: boolean;
    };
    product?: undefined;
    response?: undefined;
}>;
/**
 * Create a product in Printify
 */
export declare function createProduct(printifyClient: PrintifyAPI, productData: {
    title: string;
    description: string;
    blueprintId: number;
    printProviderId: number;
    variants: Array<{
        variantId: number;
        price: number;
        isEnabled?: boolean;
    }>;
    printAreas?: Record<string, {
        position: string;
        imageId: string;
    }>;
}): Promise<{
    success: boolean;
    product: any;
    response: {
        content: {
            type: string;
            text: string;
        }[];
    };
    error?: undefined;
    errorResponse?: undefined;
} | {
    success: boolean;
    error: any;
    errorResponse: {
        content: {
            type: string;
            text: string;
        }[];
        isError: boolean;
    };
    product?: undefined;
    response?: undefined;
}>;
/**
 * Update a product in Printify
 */
export declare function updateProduct(printifyClient: PrintifyAPI, productId: string, updateData: {
    title?: string;
    description?: string;
    variants?: Array<{
        variantId: number;
        price: number;
        isEnabled?: boolean;
    }>;
    printAreas?: Record<string, {
        position: string;
        imageId: string;
    }>;
}): Promise<{
    success: boolean;
    product: any;
    response: {
        content: {
            type: string;
            text: string;
        }[];
    };
    error?: undefined;
    errorResponse?: undefined;
} | {
    success: boolean;
    error: any;
    errorResponse: {
        content: {
            type: string;
            text: string;
        }[];
        isError: boolean;
    };
    product?: undefined;
    response?: undefined;
}>;
/**
 * Delete a product from Printify
 */
export declare function deleteProduct(printifyClient: PrintifyAPI, productId: string): Promise<{
    success: boolean;
    response: {
        content: {
            type: string;
            text: string;
        }[];
    };
    error?: undefined;
    errorResponse?: undefined;
} | {
    success: boolean;
    error: any;
    errorResponse: {
        content: {
            type: string;
            text: string;
        }[];
        isError: boolean;
    };
    response?: undefined;
}>;
/**
 * Publish a product to Printify
 */
export declare function publishProduct(printifyClient: PrintifyAPI, productId: string, publishDetails?: {
    title?: boolean;
    description?: boolean;
    images?: boolean;
    variants?: boolean;
    tags?: boolean;
}): Promise<{
    success: boolean;
    result: any;
    response: {
        content: {
            type: string;
            text: string;
        }[];
    };
    error?: undefined;
    errorResponse?: undefined;
} | {
    success: boolean;
    error: any;
    errorResponse: {
        content: {
            type: string;
            text: string;
        }[];
        isError: boolean;
    };
    result?: undefined;
    response?: undefined;
}>;
