import type { AmigoFetch } from '../core/openapi-client';
import type { components, operations } from '../generated/api-types';
import type { OrgId, UserId } from '../core/branded-types';
/** Resource for managing users in the organization. */
export declare class UserResource {
    private c;
    private orgId;
    constructor(c: AmigoFetch, orgId: OrgId);
    /** List users in the organization. */
    getUsers(queryParams?: operations['get-users']['parameters']['query'], headers?: operations['get-users']['parameters']['header']): Promise<{
        users: components["schemas"]["user__get_users__Response__UserInstance"][];
        has_more: boolean;
        continuation_token: number | null;
    }>;
    /** Create (invite) a new user to the organization. */
    createUser(body: components['schemas']['user__create_invited_user__Request'], headers?: operations['create-invited-user']['parameters']['header']): Promise<{
        user_id: string;
        verify_link: string | null;
    }>;
    /** Delete a user by ID. */
    deleteUser(userId: UserId, headers?: operations['delete-user']['parameters']['header']): Promise<void>;
    /** Update user information. */
    updateUser(options: {
        userId: UserId;
        body: components['schemas']['user__update_user_info__Request'];
        headers?: operations['update-user-info']['parameters']['header'];
    }): Promise<void>;
    /** Get the user model for a user. */
    getUserModel(userId: UserId, headers?: operations['get-user-model']['parameters']['header']): Promise<{
        user_models: components["schemas"]["UserModel"][];
        additional_context: string[];
    }>;
    /** Alias for getUsers. */
    list(queryParams?: operations['get-users']['parameters']['query'], headers?: operations['get-users']['parameters']['header']): Promise<{
        users: components["schemas"]["user__get_users__Response__UserInstance"][];
        has_more: boolean;
        continuation_token: number | null;
    }>;
    /** Alias for createUser. */
    create(body: components['schemas']['user__create_invited_user__Request'], headers?: operations['create-invited-user']['parameters']['header']): Promise<{
        user_id: string;
        verify_link: string | null;
    }>;
    /** Alias for getUserModel. */
    getModel(userId: UserId, headers?: operations['get-user-model']['parameters']['header']): Promise<{
        user_models: components["schemas"]["UserModel"][];
        additional_context: string[];
    }>;
    /** Alias for deleteUser. */
    delete(userId: UserId, headers?: operations['delete-user']['parameters']['header']): Promise<void>;
    /** Alias for updateUser. */
    update(options: Parameters<UserResource['updateUser']>[0]): Promise<void>;
}
