import { Core } from '@strapi/strapi';
import { NavigationItemDBSchema } from '../schemas';
type NavigationItemRemoveMinimal = Partial<NavigationItemDBSchema> & Pick<NavigationItemDBSchema, 'documentId'>;
interface FindInput {
    filters: any;
    locale?: string;
    limit?: number;
    populate?: any;
    order?: Record<string, 'asc' | 'desc'>[];
}
interface SaveInput {
    item: (Partial<NavigationItemDBSchema> & {
        documentId: undefined;
    }) | ({
        documentId: string;
    } & Partial<Omit<NavigationItemDBSchema, 'documentId'>>);
    locale?: string;
}
export declare const getNavigationItemRepository: (context: {
    strapi: Core.Strapi;
}) => {
    save({ item, locale }: SaveInput): Promise<import("@strapi/types/dist/modules/documents").AnyDocument | null>;
    find({ filters, locale, limit, order, populate }: FindInput): Promise<NavigationItemDBSchema[]>;
    count(where: any): Promise<number>;
    remove(item: NavigationItemRemoveMinimal): Promise<any>;
    removeForIds(ids: string[]): Promise<import("@strapi/database/dist/types").CountResult>;
    findForMasterIds(ids: number[]): Promise<NavigationItemDBSchema[]>;
};
export declare const removeSensitiveFields: ({ related, items, ...item }: NavigationItemDBSchema) => NavigationItemDBSchema;
export declare const flattenRelated: ({ related, ...item }: any) => any;
export {};
