import BaseResource from '../../BaseResource';
import type * as ApiTypes from '../ApiTypes';
import type * as RawApiTypes from '../RawApiTypes';
export default class SchemaMenuItem extends BaseResource {
    static readonly TYPE: "schema_menu_item";
    /**
     * Create a new schema menu item
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/schema-menu_item/create
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    create(body: ApiTypes.SchemaMenuItemCreateSchema): Promise<ApiTypes.SchemaMenuItem>;
    /**
     * Create a new schema menu item
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/schema-menu_item/create
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawCreate(body: RawApiTypes.SchemaMenuItemCreateSchema): Promise<RawApiTypes.SchemaMenuItemCreateTargetSchema>;
    /**
     * Update a schema menu item
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/schema-menu_item/update
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    update(schemaMenuItemId: string | ApiTypes.SchemaMenuItemData, body: ApiTypes.SchemaMenuItemUpdateSchema): Promise<ApiTypes.SchemaMenuItem>;
    /**
     * Update a schema menu item
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/schema-menu_item/update
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawUpdate(schemaMenuItemId: string, body: RawApiTypes.SchemaMenuItemUpdateSchema): Promise<RawApiTypes.SchemaMenuItemUpdateTargetSchema>;
    /**
     * List all schema menu items
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/schema-menu_item/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    list(queryParams?: ApiTypes.SchemaMenuItemInstancesHrefSchema): Promise<ApiTypes.SchemaMenuItemInstancesTargetSchema>;
    /**
     * List all schema menu items
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/schema-menu_item/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawList(queryParams?: RawApiTypes.SchemaMenuItemInstancesHrefSchema): Promise<RawApiTypes.SchemaMenuItemInstancesTargetSchema>;
    /**
     * Retrieve a schema menu item
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/schema-menu_item/self
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    find(schemaMenuItemId: string | ApiTypes.SchemaMenuItemData): Promise<ApiTypes.SchemaMenuItem>;
    /**
     * Retrieve a schema menu item
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/schema-menu_item/self
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawFind(schemaMenuItemId: string): Promise<RawApiTypes.SchemaMenuItemSelfTargetSchema>;
    /**
     * Delete a schema menu item
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/schema-menu_item/destroy
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    destroy(schemaMenuItemId: string | ApiTypes.SchemaMenuItemData): Promise<ApiTypes.SchemaMenuItem>;
    /**
     * Delete a schema menu item
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/schema-menu_item/destroy
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawDestroy(schemaMenuItemId: string): Promise<RawApiTypes.SchemaMenuItemDestroyTargetSchema>;
    /**
     * Reorders a set of schema menu items
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/schema-menu_item/reorder
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     *
     * @deprecated This API call is to be considered private and might change without notice
     */
    reorder(body: ApiTypes.SchemaMenuItemReorderSchema): Promise<ApiTypes.SchemaMenuItemReorderJobSchema>;
    /**
     * Reorders a set of schema menu items
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/schema-menu_item/reorder
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     *
     * @deprecated This API call is to be considered private and might change without notice
     */
    rawReorder(body: RawApiTypes.SchemaMenuItemReorderSchema): Promise<RawApiTypes.SchemaMenuItemReorderJobSchema>;
}
