import type { Entity as BaseApplicationEntity, Field as BaseApplicationField, Relationship as BaseApplicationRelationship } from '../base-application/types.ts';
import type { Entity as LanguagesEntity } from '../languages/types.ts';
type CommonAddedFieldProperties = {
    /** @deprecated replace with technology-specific implementation */
    fieldTypeTemporal: boolean;
    /** @deprecated replace with technology-specific implementation */
    fieldTypeCharSequence: boolean;
    /** @deprecated replace with technology-specific implementation */
    fieldTypeNumeric: boolean;
    /** @deprecated replace with technology-specific implementation */
    fieldSupportsSortBy?: boolean;
};
export type Field = BaseApplicationField & CommonAddedFieldProperties;
export declare const mutateField: {
    readonly __override__: false;
    readonly fieldTypeNumeric: ({ fieldType }: Field) => boolean;
    readonly fieldTypeBinary: ({ fieldType }: Field) => boolean;
    readonly fieldTypeTimed: ({ fieldType }: Field) => boolean;
    readonly fieldTypeCharSequence: ({ fieldType }: Field) => boolean;
    readonly fieldTypeTemporal: ({ fieldType }: Field) => boolean;
};
export type { BaseApplicationRelationship as Relationship };
type CommonAddedEntityProperties = {
    entityApiUrl: string;
    entityApi: string;
    paginationPagination: boolean;
    paginationInfiniteScroll: boolean;
    paginationNo: boolean;
};
export declare const mutateEntity: {
    readonly pagination?: "no" | "pagination" | "infinite-scroll" | undefined;
    readonly paginationNo: (data: Partial<Record<"pagination", "no" | "pagination" | "infinite-scroll" | undefined>>) => boolean;
    readonly paginationPagination: (data: Partial<Record<"pagination", "no" | "pagination" | "infinite-scroll" | undefined>>) => boolean;
    readonly paginationInfiniteScroll: (data: Partial<Record<"pagination", "no" | "pagination" | "infinite-scroll" | undefined>>) => boolean;
    readonly __override__: false;
    readonly entityApi: ({ microserviceName }: Entity<Field, BaseApplicationRelationship>) => string;
    readonly entityApiUrl: (data: Entity<Field, BaseApplicationRelationship>) => string;
};
export interface Entity<F extends Field = Field, R extends BaseApplicationRelationship = BaseApplicationRelationship> extends LanguagesEntity<F, R>, BaseApplicationEntity<F, R>, CommonAddedEntityProperties {
    restProperties?: (F | R)[];
    uniqueEnums?: F[];
}
