import { GsbEntityDef, GsbProperty } from '@gsb-core/core';
export declare const gsbEntityDefTools: {
    /**
     * Gets common property definitions that can be used when creating entity properties
     */
    getCommonPropertyDefs: ({ token, tenantCode }: {
        token?: string;
        tenantCode?: string;
    }) => Promise<import("@gsb-core/core").GsbPropertyDef[]>;
    /**
     * Creates a new entity definition with the specified schema
     */
    createEntityDef: ({ entityDef, token, tenantCode }: {
        entityDef: GsbEntityDef;
        token?: string;
        tenantCode?: string;
    }) => Promise<any>;
    /**
     * Updates an existing entity definition
     */
    updateEntityDef: ({ entityDef, token, tenantCode }: {
        entityDef: GsbEntityDef;
        token?: string;
        tenantCode?: string;
    }) => Promise<any>;
    /**
     * Adds a new property to an entity definition
     */
    addProperty: ({ property, entityDef, token, tenantCode }: {
        property: GsbProperty;
        entityDef?: GsbEntityDef;
        token?: string;
        tenantCode?: string;
    }) => Promise<any>;
    /**
     * Removes a property from an entity definition
     */
    removeProperty: ({ property, entityDef, token, tenantCode }: {
        property: GsbProperty;
        entityDef?: GsbEntityDef;
        token?: string;
        tenantCode?: string;
    }) => Promise<any>;
    /**
     * Updates an existing property in an entity definition
     */
    updateProperty: ({ property, entityDef, token, tenantCode }: {
        property: GsbProperty;
        entityDef?: GsbEntityDef;
        token?: string;
        tenantCode?: string;
    }) => Promise<any>;
    /**
     * Gets an entity definition by ID
     */
    getEntityDef: ({ entityDef, token, tenantCode }: {
        entityDef: GsbEntityDef;
        token?: string;
        tenantCode?: string;
    }) => Promise<any>;
    /**
     * Queries entity definitions
     */
    queryEntityDefs: ({ searchTerm, page, pageSize, includeSystem, token, tenantCode }: {
        searchTerm: string;
        page: number;
        pageSize: number;
        includeSystem?: boolean;
        token?: string;
        tenantCode?: string;
    }) => Promise<any>;
    /**
     * Creates or updates schema entities and properties
     */
    createOrUpdateSchema: ({ entityDefs, token, tenantCode }: {
        entityDefs: any[];
        token?: string;
        tenantCode?: string;
    }) => Promise<any>;
};
