import { Client } from '../client.mjs';
import '../models.mjs';
import '../enums/database-type.mjs';
import '../enums/attribute-status.mjs';
import '../enums/column-status.mjs';
import '../enums/index-status.mjs';
import '../enums/deployment-status.mjs';
import '../enums/execution-trigger.mjs';
import '../enums/execution-status.mjs';
import '../enums/health-antivirus-status.mjs';
import '../enums/health-check-status.mjs';
import '../enums/message-status.mjs';
import '../query.mjs';

declare class Graphql {
    client: Client;
    constructor(client: Client);
    /**
     * Execute a GraphQL mutation.
     *
     * @param {object} params.query - The query or queries to execute.
     * @throws {AppwriteException}
     * @returns {Promise<{}>}
     */
    query(params: {
        query: object;
    }): Promise<{}>;
    /**
     * Execute a GraphQL mutation.
     *
     * @param {object} query - The query or queries to execute.
     * @throws {AppwriteException}
     * @returns {Promise<{}>}
     * @deprecated Use the object parameter style method for a better developer experience.
     */
    query(query: object): Promise<{}>;
    /**
     * Execute a GraphQL mutation.
     *
     * @param {object} params.query - The query or queries to execute.
     * @throws {AppwriteException}
     * @returns {Promise<{}>}
     */
    mutation(params: {
        query: object;
    }): Promise<{}>;
    /**
     * Execute a GraphQL mutation.
     *
     * @param {object} query - The query or queries to execute.
     * @throws {AppwriteException}
     * @returns {Promise<{}>}
     * @deprecated Use the object parameter style method for a better developer experience.
     */
    mutation(query: object): Promise<{}>;
}

export { Graphql };
