import { BunactylClient } from '../client';
import type { UserResponse, UsersResponse, CreateUserRequest, UpdateUserRequest, UserFilter, UserSort, UserInclude } from '../interfaces/users';
export declare class UsersResource {
    private client;
    constructor(client: BunactylClient);
    /**
     * List all users
     *
     * @param include Optional resources to include
     * @param filter Optional filters to apply
     * @param sort Optional sort parameter
     */
    list(include?: UserInclude, filter?: UserFilter, sort?: UserSort): Promise<UsersResponse>;
    /**
     * Get details for a specific user by ID
     *
     * @param id User ID
     * @param include Optional resources to include
     */
    getById(id: number | string, include?: UserInclude): Promise<UserResponse>;
    /**
     * Get details for a specific user by external ID
     *
     * @param externalId External user ID
     * @param include Optional resources to include
     */
    getByExternalId(externalId: string, include?: UserInclude): Promise<UserResponse>;
    /**
     * Create a new user
     *
     * @param userData User data
     */
    create(userData: CreateUserRequest): Promise<UserResponse>;
    /**
     * Update an existing user
     *
     * @param id User ID
     * @param userData User data to update
     */
    update(id: number | string, userData: UpdateUserRequest): Promise<UserResponse>;
    /**
     * Delete a user
     *
     * @param id User ID
     */
    delete(id: number | string): Promise<void>;
}
//# sourceMappingURL=users.d.ts.map