import type { JsonObject } from '../types/index.js';
export type AllLocalesPublicationStatus = 'draft' | 'published';
type AllLocalesPublicationIntent = {
    hadStatus: boolean;
    previousStatus: unknown;
    status: AllLocalesPublicationStatus;
};
export declare const buildAllLocalesPublicationHookDoc: <TDoc extends JsonObject>({ doc, docWithLocales, status, }: {
    doc: TDoc;
    docWithLocales: JsonObject;
    status: AllLocalesPublicationStatus | undefined;
}) => TDoc;
export declare const getAllLocalesPublicationStatus: ({ hasLocalizedStatus, publishAllLocales, unpublishAllLocales, }: {
    hasLocalizedStatus: boolean;
    publishAllLocales: boolean;
    unpublishAllLocales: boolean;
}) => AllLocalesPublicationStatus | undefined;
export declare const hasAuthorizedAllLocalesPublicationStatus: ({ data, fieldAccessDenied, fieldValue, status, }: {
    data: JsonObject;
    fieldAccessDenied: boolean;
    fieldValue: unknown;
    status: AllLocalesPublicationStatus | undefined;
}) => boolean;
export declare const normalizeAllLocalesPublicationStatus: ({ data, status, }: {
    data: JsonObject;
    status: AllLocalesPublicationStatus | undefined;
}) => AllLocalesPublicationIntent | undefined;
export declare const reconcileAllLocalesPublicationStatus: ({ data, intent, status, }: {
    data: JsonObject;
    intent: AllLocalesPublicationIntent | undefined;
    status: AllLocalesPublicationStatus | undefined;
}) => AllLocalesPublicationStatus | undefined;
export declare const validateAllLocalesPublicationFlags: ({ publishAllLocales, unpublishAllLocales, }: {
    publishAllLocales?: boolean;
    unpublishAllLocales?: boolean;
}) => void;
export {};
//# sourceMappingURL=allLocalesPublicationStatus.d.ts.map