import type { UID, Data, Core } from '@strapi/types'; import type { SettingsService } from '../services/settings'; import type { ReleaseService } from '../services/release'; import type { ReleaseActionService } from '../services/release-action'; type Services = { release: ReleaseService; 'release-validation': any; scheduling: any; 'release-action': ReleaseActionService; 'event-manager': any; settings: SettingsService; }; interface Action { contentType: UID.ContentType; documentId?: Data.DocumentID; locale?: string; } export declare const getService: (name: TName, { strapi }: { strapi: Core.Strapi; }) => Services[TName]; export declare const getDraftEntryValidStatus: ({ contentType, documentId, locale }: Action, { strapi }: { strapi: Core.Strapi; }) => Promise; export declare const isEntryValid: (contentTypeUid: string, entry: any, { strapi }: { strapi: Core.Strapi; }) => Promise; export declare const getEntry: ({ contentType, documentId, locale, populate, status, }: Action & { status?: 'draft' | 'published'; populate: any; }, { strapi }: { strapi: Core.Strapi; }) => Promise; export declare const getEntryStatus: (contentType: UID.ContentType, entry: Data.ContentType) => Promise<"draft" | "published" | "modified">; /** * Returns content type UIDs sorted by relation dependency order for publishing. * When content type A has a relation to content type B (both with draft & publish), * B will appear before A in the result. This ensures that when publishing a release, * related entities are published first, so that relation IDs can be correctly * resolved (published target must exist when publishing source). * * Relations in components (nested or not) and dynamic zones are also considered. * * @param contentTypeUids - Content type UIDs that will be published in the release * @param strapi - Strapi instance * @returns Content type UIDs in publish order (dependencies first) */ export declare const getPublishOrderForContentTypes: (contentTypeUids: UID.ContentType[], { strapi }: { strapi: Core.Strapi; }) => UID.ContentType[]; export {}; //# sourceMappingURL=index.d.ts.map