declare const _default: {
    homepage: ({ strapi }: {
        strapi: import("@strapi/types/dist/core").Strapi;
    }) => {
        addStatusToDocuments(documents: import("../../../shared/contracts/homepage").RecentDocument[]): Promise<import("../../../shared/contracts/homepage").RecentDocument[]>;
        queryLastDocuments(additionalQueryParams?: Record<string, unknown>, draftAndPublishOnly?: boolean): Promise<import("../../../shared/contracts/homepage").RecentDocument[]>;
        getRecentlyPublishedDocuments(): Promise<import("../../../shared/contracts/homepage").GetRecentDocuments.Response["data"]>;
        getRecentlyUpdatedDocuments(): Promise<import("../../../shared/contracts/homepage").GetRecentDocuments.Response["data"]>;
        getCountDocuments(): Promise<import("../../../shared/contracts/homepage").GetCountDocuments.Response["data"]>;
    };
    components: ({ strapi }: {
        strapi: import("@strapi/types/dist/core").Strapi;
    }) => {
        findAllComponents(): unknown[];
        findComponent(uid: import("@strapi/types/dist/uid").Component): any;
        findConfiguration(component: import("@strapi/types/dist/struct").ComponentSchema): Promise<{
            uid: string;
            settings: import("../../../shared/contracts/content-types").Settings;
            metadatas: import("../../../shared/contracts/content-types").Metadatas;
            layouts: import("../../../shared/contracts/content-types").Layouts;
            options?: object;
            category: string;
        }>;
        updateConfiguration(component: import("@strapi/types/dist/struct").ComponentSchema, newConfiguration: import("./configuration").ConfigurationUpdate): Promise<{
            uid: string;
            settings: import("../../../shared/contracts/content-types").Settings;
            metadatas: import("../../../shared/contracts/content-types").Metadatas;
            layouts: import("../../../shared/contracts/content-types").Layouts;
            options?: object;
            category: string;
        }>;
        findComponentsConfigurations(model: import("@strapi/types/dist/struct").ComponentSchema): Promise<Record<string, import("../../../shared/contracts/content-types").Configuration & {
            category: string;
            isComponent: boolean;
        }>>;
        syncConfigurations(): Promise<void>;
    };
    'content-types': ({ strapi }: {
        strapi: import("@strapi/types/dist/core").Strapi;
    }) => {
        findAllContentTypes(): unknown[];
        findContentType(uid: import("@strapi/types/dist/uid").ContentType): any;
        findDisplayedContentTypes(): unknown[];
        findContentTypesByKind(kind: {
            kind: import("@strapi/types/dist/struct").ContentTypeKind | undefined;
        }): unknown[];
        findConfiguration(contentType: import("@strapi/types/dist/struct").ContentTypeSchema): Promise<any>;
        updateConfiguration(contentType: import("@strapi/types/dist/struct").ContentTypeSchema, newConfiguration: import("./configuration").ConfigurationUpdate): Promise<any>;
        findComponentsConfigurations(contentType: import("@strapi/types/dist/struct").ContentTypeSchema): any;
        syncConfigurations(): Promise<void>;
    };
    'data-mapper': () => {
        toContentManagerModel(contentType: import("@strapi/types/dist/struct").ComponentSchema): {
            apiID: string;
            isDisplayed: boolean;
            attributes: any;
            modelType: "component";
            uid: import("@strapi/types/dist/uid").Component;
            category: string;
            modelName: string;
            globalId: string;
            pluginOptions?: import("@strapi/types/dist/struct").SchemaPluginOptions;
            options?: import("@strapi/types/dist/struct").SchemaOptions;
            collectionName?: string;
            plugin?: string;
            info: import("@strapi/types/dist/struct").SchemaInfo;
        };
        toDto: import("lodash/fp").LodashPick2x1;
    };
    'document-metadata': ({ strapi }: {
        strapi: import("@strapi/types/dist/core").Strapi;
    }) => {
        getAvailableLocales(uid: import("@strapi/types/dist/uid").ContentType, version: import("./document-metadata").DocumentVersion, allVersions: import("./document-metadata").DocumentVersion[]): Promise<import("../../../shared/contracts/collection-types").AvailableLocaleDocument[]>;
        getAvailableStatus(version: import("./document-metadata").DocumentVersion, allVersions: import("./document-metadata").DocumentVersion[]): Partial<import("./document-metadata").DocumentVersion> | undefined;
        getManyAvailableStatus(uid: import("@strapi/types/dist/uid").ContentType, documents: import("./document-metadata").DocumentVersion[]): Promise<any[]>;
        getStatus(version: import("./document-metadata").DocumentVersion, otherDocumentStatuses?: import("../../../shared/contracts/collection-types").DocumentMetadata["availableStatus"]): string;
        getMetadata(uid: import("@strapi/types/dist/uid").ContentType, version: import("./document-metadata").DocumentVersion, { availableLocales, availableStatus }?: import("./document-metadata").GetMetadataOptions): Promise<{
            availableLocales: never[];
            availableStatus: Pick<any, string>[];
            versions: import("./document-metadata").DocumentVersion[];
        } | {
            availableLocales: import("../../../shared/contracts/collection-types").AvailableLocaleDocument[];
            availableStatus: Partial<import("./document-metadata").DocumentVersion>[];
            versions: any[];
        }>;
        formatDocumentWithMetadata(uid: import("@strapi/types/dist/uid").ContentType, document: import("./document-metadata").DocumentVersion, opts?: import("./document-metadata").GetMetadataOptions): Promise<{
            data: {
                status: string | undefined;
                id: string | number;
                documentId: import("@strapi/types/dist/modules/documents").ID;
                locale?: string;
                localizations?: import("./document-metadata").DocumentVersion[];
                updatedAt?: string | null | Date;
                publishedAt?: string | null | Date;
            };
            meta: {
                availableLocales: never[];
                availableStatus: Pick<any, string>[];
            } | {
                availableLocales: import("../../../shared/contracts/collection-types").AvailableLocaleDocument[];
                availableStatus: Partial<import("./document-metadata").DocumentVersion>[];
            };
        }>;
    };
    'document-manager': ({ strapi }: {
        strapi: import("@strapi/types/dist/core").Strapi;
    }) => {
        findOne(id: string, uid: import("@strapi/types/dist/uid").CollectionType, opts?: Omit<import("@strapi/types/dist/modules/documents/params/document-engine").FindOne<import("@strapi/types/dist/uid").ContentType>, "documentId">): Promise<import("@strapi/types/dist/modules/documents").AnyDocument | null>;
        findLocales(id: string | string[] | undefined, uid: import("@strapi/types/dist/uid").CollectionType, opts: {
            populate?: import("@strapi/types/dist/modules/documents/params").Pick<any, "populate">;
            locale?: string | string[] | "*";
            isPublished?: boolean;
        }): Promise<any[]>;
        findMany(opts: import("@strapi/types/dist/modules/documents/params/document-engine").FindMany<import("@strapi/types/dist/uid").ContentType> | undefined, uid: import("@strapi/types/dist/uid").CollectionType): Promise<import("@strapi/types/dist/modules/documents").AnyDocument[]>;
        findPage(opts: import("@strapi/types/dist/modules/documents/params/document-engine").FindMany<import("@strapi/types/dist/uid").ContentType> | undefined, uid: import("@strapi/types/dist/uid").CollectionType): Promise<{
            results: import("@strapi/types/dist/modules/documents").AnyDocument[];
            pagination: import("@strapi/utils/dist/pagination").PagePatinationInformation;
        }>;
        create(uid: import("@strapi/types/dist/uid").CollectionType, opts?: import("@strapi/types/dist/modules/documents/params/document-engine").Create<import("@strapi/types/dist/uid").ContentType>): Promise<import("@strapi/types/dist/modules/documents").AnyDocument>;
        update(id: import("@strapi/types/dist/modules/documents").ID, uid: import("@strapi/types/dist/uid").CollectionType, opts?: Omit<import("@strapi/types/dist/modules/documents/params/document-engine").Update<import("@strapi/types/dist/uid").ContentType>, "documentId">): Promise<import("@strapi/types/dist/modules/documents").AnyDocument | null>;
        clone(id: import("@strapi/types/dist/modules/documents").ID, body: Partial<import("@strapi/types/dist/modules/documents/params/data").Input<import("@strapi/types/dist/uid").CollectionType>>, uid: import("@strapi/types/dist/uid").CollectionType): Promise<import("@strapi/types/dist/modules/documents").AnyDocument | undefined>;
        exists(uid: import("@strapi/types/dist/uid").CollectionType, id?: string): Promise<boolean>;
        delete(id: import("@strapi/types/dist/modules/documents").ID, uid: import("@strapi/types/dist/uid").CollectionType, opts?: Omit<import("@strapi/types/dist/modules/documents/params/document-engine").Delete<import("@strapi/types/dist/uid").ContentType>, "documentId">): Promise<{}>;
        deleteMany(documentIds: import("@strapi/types/dist/modules/documents").ID[], uid: import("@strapi/types/dist/uid").CollectionType, opts?: (import("@strapi/types/dist/modules/documents/params/document-engine").FindMany<import("@strapi/types/dist/uid").ContentType> | undefined) & {
            locale?: string;
        }): Promise<{
            count: number;
        }>;
        publish(id: import("@strapi/types/dist/modules/documents").ID, uid: import("@strapi/types/dist/uid").CollectionType, opts?: Omit<import("@strapi/types/dist/modules/documents/params/document-engine").Publish<import("@strapi/types/dist/uid").ContentType>, "documentId"> & {
            populate?: object;
        }): Promise<import("@strapi/types/dist/modules/documents").AnyDocument[]>;
        publishMany(uid: import("@strapi/types/dist/uid").ContentType, documentIds: string[], locale?: string | string[]): Promise<number>;
        unpublishMany(documentIds: import("@strapi/types/dist/modules/documents").ID[], uid: import("@strapi/types/dist/uid").CollectionType, opts?: Omit<import("@strapi/types/dist/modules/documents/params/document-engine").Unpublish<import("@strapi/types/dist/uid").ContentType>, "documentId">): Promise<{
            count: number;
        }>;
        unpublish(id: import("@strapi/types/dist/modules/documents").ID, uid: import("@strapi/types/dist/uid").CollectionType, opts?: Omit<import("@strapi/types/dist/modules/documents/params/document-engine").Unpublish<import("@strapi/types/dist/uid").ContentType>, "documentId"> & {
            populate?: object;
        }): Promise<import("@strapi/types/dist/modules/documents").AnyDocument | undefined>;
        discardDraft(id: import("@strapi/types/dist/modules/documents").ID, uid: import("@strapi/types/dist/uid").CollectionType, opts?: Omit<import("@strapi/types/dist/modules/documents/params/document-engine").DiscardDraft<import("@strapi/types/dist/uid").ContentType>, "documentId"> & {
            populate?: object;
        }): Promise<import("@strapi/types/dist/modules/documents").AnyDocument | undefined>;
        countDraftRelations(id: string, uid: import("@strapi/types/dist/uid").ContentType, locale: string): Promise<import("./utils/draft-relations").DraftRelationCounts>;
        countManyEntriesDraftRelations(documentIds: import("@strapi/types/dist/modules/documents").ID[], uid: import("@strapi/types/dist/uid").CollectionType, locale: string | string[]): Promise<number>;
    };
    'field-sizes': ({ strapi }: {
        strapi: import("@strapi/types/dist/core").Strapi;
    }) => {
        getAllFieldSizes(): Record<string, {
            default: 4 | 6 | 8 | 12;
            isResizable: boolean;
        } | undefined>;
        hasFieldSize(type: string): boolean;
        getFieldSize(type?: string): {
            default: 4 | 6 | 8 | 12;
            isResizable: boolean;
        };
        setFieldSize(type: string, size: {
            default: 4 | 6 | 8 | 12;
            isResizable: boolean;
        } | undefined): void;
        setCustomFieldInputSizes(): void;
    };
    metrics: ({ strapi }: {
        strapi: import("@strapi/types/dist/core").Strapi;
    }) => {
        sendDidConfigureListView: (contentType: import("@strapi/types/dist/struct").ContentTypeSchema, configuration: import("../../../shared/contracts/content-types").Configuration) => Promise<void>;
    };
    'permission-checker': ({ strapi }: {
        strapi: import("@strapi/types/dist/core").Strapi;
    }) => {
        create: ({ userAbility, model }: {
            userAbility: import("@casl/ability").Ability;
            model: string;
        }) => {
            can: (action: string, entity?: {
                id: import("@strapi/types/dist/modules/entity-service/params/attributes").ID;
            } & {
                [key: string]: any;
            }, field: string) => boolean;
            cannot: (action: string, entity?: {
                id: import("@strapi/types/dist/modules/entity-service/params/attributes").ID;
            } & {
                [key: string]: any;
            }, field: string) => boolean;
            requiresEntity: (action: string) => boolean;
            sanitizeOutput: (data: {
                id: import("@strapi/types/dist/modules/entity-service/params/attributes").ID;
            } & {
                [key: string]: any;
            }, { action }?: {
                action?: string;
            }) => any;
            sanitizeQuery: (query: {
                page?: string;
                pageSize?: string;
                sort?: string;
            }, { action }?: {
                action?: string;
            }) => any;
            sanitizeCreateInput: (data: any) => any;
            sanitizeUpdateInput: (entity: {
                id: import("@strapi/types/dist/modules/entity-service/params/attributes").ID;
            } & {
                [key: string]: any;
            }) => (data: any) => any;
            validateQuery: (query: {
                page?: string;
                pageSize?: string;
                sort?: string;
            }, { action }?: {
                action?: string;
            }) => any;
            validateInput: (action: string, data: any, entity?: {
                id: import("@strapi/types/dist/modules/entity-service/params/attributes").ID;
            } & {
                [key: string]: any;
            }) => any;
            sanitizedQuery: (query: {
                page?: string;
                pageSize?: string;
                sort?: string;
            }, action?: {
                action?: string;
            }) => Promise<any>;
        };
    };
    permission: ({ strapi }: {
        strapi: import("@strapi/types/dist/core").Strapi;
    }) => {
        canConfigureContentType({ userAbility, contentType, }: {
            userAbility: any;
            contentType: import("@strapi/types/dist/struct").ContentTypeSchema;
        }): any;
        registerPermissions(): Promise<void>;
    };
    'populate-builder': () => (uid: import("@strapi/types/dist/uid").Schema) => {
        populateFromQuery(query: object): /*elided*/ any;
        countRelations({ toMany, toOne }?: {
            toMany: boolean;
            toOne: boolean;
        }): /*elided*/ any;
        populateDeep(level?: number): /*elided*/ any;
        withPopulateOverride(overrides: Record<string, any>): /*elided*/ any;
        build(): Promise<string | import("@strapi/types/dist/modules/entity-service/params/populate").ArrayNotation<import("@strapi/types/dist/uid").Schema> | {
            [key: string]: boolean | object;
        } | undefined>;
    };
    uid: ({ strapi }: {
        strapi: import("@strapi/types/dist/core").Strapi;
    }) => {
        generateUIDField({ contentTypeUID, field, data, locale, }: {
            contentTypeUID: import("@strapi/types/dist/uid").ContentType;
            field: string;
            data: Record<string, any>;
            locale?: string;
        }): Promise<string>;
        findUniqueUID({ contentTypeUID, field, value, locale, }: {
            contentTypeUID: import("@strapi/types/dist/uid").ContentType;
            field: string;
            value: string;
            locale?: string;
        }): Promise<string>;
        checkUIDAvailability({ contentTypeUID, field, value, locale, }: {
            contentTypeUID: import("@strapi/types/dist/uid").ContentType;
            field: string;
            value: string;
            locale?: string;
        }): Promise<boolean>;
    };
};
export default _default;
//# sourceMappingURL=index.d.ts.map