import type { ContentEntrySnapshot } from "@riverbankcms/content-model";
import type { EditorUiState } from "../ui/editorUiStore";
import type { PublishEntryResult } from "../services/contentEntryServices";
type StoreApi<T> = {
    getState: () => T;
};
export declare function usePublishEntryMutation<TEntry extends ContentEntrySnapshot = ContentEntrySnapshot, TPublishPayload = unknown>({ publishFn, siteId, type, entryId, isPage, pageId, uiStore, }: {
    publishFn: (payload: TPublishPayload | undefined) => Promise<PublishEntryResult<TEntry>>;
    siteId: string;
    type: string;
    entryId: string;
    isPage?: boolean;
    pageId?: string;
    uiStore?: StoreApi<EditorUiState>;
}): import("@tanstack/react-query").UseMutationResult<Readonly<{
    snapshot: TEntry;
    publishedContent?: Record<string, unknown> | null;
    publishedBlocks?: readonly import("@riverbankcms/api").PublishedBlockBaseline[];
}>, Error, TPublishPayload | undefined, unknown>;
export declare function useDiscardDraftMutation<TEntry = unknown>({ discardFn, siteId, type, entryId, isPage, pageId, }: {
    discardFn: () => Promise<TEntry>;
    siteId: string;
    type: string;
    entryId: string;
    isPage?: boolean;
    pageId?: string;
}): import("@tanstack/react-query").UseMutationResult<TEntry, Error, void, unknown>;
export {};
