import { ApiClient } from '../../client/index.js';
import { GetUserResult, GetContactResult } from './responses.js';

declare class UsersApi {
    private _client;
    /**
     * Create an instance of the UsersApi class
     *
     * Query for information about users
     *
     * @param client Provide an instance of ApiClient.
     * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Users}
     * @see {@link https://docs.acquia.com/acquia-dam/api-v1#tag/Users-and-Contacts}
     */
    constructor(client: ApiClient);
    /**
     * Returns information about a user
     * @param id Retrieve a specific user's information. If omitted, information for the user associated with the provided access token will be returned.
     * @returns Promise containing the requested user information
     * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Users/operation/getUserById}
     */
    getUser(id?: string): Promise<GetUserResult>;
    /**
     * Return the calling user's contact. The UUID field may be used as a recipient to create an order.
     * @returns Promise containing the calling user's contact information
     * @see {@link https://docs.acquia.com/acquia-dam/api-v1#tag/Users-and-Contacts/operation/getUserAddress}
     */
    getContact(): Promise<GetContactResult>;
}

export { UsersApi };
