import { z } from "zod"; import type { ProductPublicationsListFilters, SupplierPublicationsListFilters } from "../query-keys.js"; export declare const productPublicationInputSchema: z.ZodObject<{ channelId: z.ZodString; decision: z.ZodEnum<{ include: "include"; exclude: "exclude"; }>; reason: z.ZodOptional>; metadata: z.ZodOptional>>; productId: z.ZodString; }, z.core.$strip>; export declare const supplierPublicationInputSchema: z.ZodObject<{ channelId: z.ZodString; decision: z.ZodEnum<{ include: "include"; exclude: "exclude"; }>; reason: z.ZodOptional>; metadata: z.ZodOptional>>; supplierId: z.ZodString; }, z.core.$strip>; export type ProductPublicationInput = z.infer; export type SupplierPublicationInput = z.infer; export interface UseProductPublicationsOptions extends ProductPublicationsListFilters { enabled?: boolean; } export interface UseSupplierPublicationsOptions extends SupplierPublicationsListFilters { enabled?: boolean; } export interface UseEffectivePublicationOptions { channelId?: string | null; productId?: string | null; canonicalSupplierId?: string | null; enabled?: boolean; } export declare function useProductPublications(options?: UseProductPublicationsOptions): import("@tanstack/react-query").UseQueryResult | null; createdAt: string; updatedAt: string; }[]; total: number; limit: number; offset: number; }>, Error>; export declare function useSupplierPublications(options?: UseSupplierPublicationsOptions): import("@tanstack/react-query").UseQueryResult | null; createdAt: string; updatedAt: string; }[]; total: number; limit: number; offset: number; }>, Error>; export declare function useEffectivePublication(options: UseEffectivePublicationOptions): import("@tanstack/react-query").UseQueryResult, Error>; export declare function usePublicationMutation(): { upsertProduct: import("@tanstack/react-query").UseMutationResult<{ id: string; channelId: string; productId: string; decision: "include" | "exclude"; reason: string | null; createdBy: string | null; updatedBy: string | null; metadata: Record | null; createdAt: string; updatedAt: string; }, Error, { channelId: string; decision: "include" | "exclude"; productId: string; reason?: string | null | undefined; metadata?: Record | null | undefined; }, unknown>; removeProduct: import("@tanstack/react-query").UseMutationResult<{ success: boolean; }, Error, string, unknown>; previewSupplier: import("@tanstack/react-query").UseMutationResult<{ data: { channelId: string; supplierId: string; decision: "include" | "exclude"; reason?: string | null | undefined; metadata?: Record | null | undefined; }; affectedProductCount: number; }, Error, { channelId: string; decision: "include" | "exclude"; supplierId: string; reason?: string | null | undefined; metadata?: Record | null | undefined; }, unknown>; upsertSupplier: import("@tanstack/react-query").UseMutationResult<{ data: { id: string; channelId: string; supplierId: string; decision: "include" | "exclude"; reason: string | null; createdBy: string | null; updatedBy: string | null; metadata: Record | null; createdAt: string; updatedAt: string; }; affectedProductCount: number; }, Error, { channelId: string; decision: "include" | "exclude"; supplierId: string; reason?: string | null | undefined; metadata?: Record | null | undefined; }, unknown>; removeSupplier: import("@tanstack/react-query").UseMutationResult<{ success: boolean; }, Error, string, unknown>; };