import { AxiosInstance } from 'axios'; import { ISO_8601_MS_UTC, UUID_V4 } from '../payload/common.js'; type Nickname = 'default' | string; export interface Profile { active: boolean; created_at: ISO_8601_MS_UTC; id: UUID_V4; is_default: boolean; name: Nickname; user_id: string; } export interface FundTransfer { amount: string; currency: string; from: UUID_V4; to: UUID_V4; } export declare class ProfileAPI { private readonly apiClient; static readonly URL: { PROFILES: string; }; constructor(apiClient: AxiosInstance); /** * List your profiles. Profiles are equivalent to portfolios. * This endpoint requires the “view” permission and is accessible by any profile’s API key. * * @param active - Only return active profiles if set true * @see https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getprofiles */ listProfiles(active?: true): Promise; /** * Get a single profile by profile ID. * This endpoint requires the “view” permission and is accessible by any profile’s API key. * * @param profileId - Profile ID * @see https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getprofile * @returns A single profile */ getProfile(profileId: string): Promise; /** * Transfer funds from API key’s profile to another user owned profile. * This endpoint requires the “transfer” permission. * * @see https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_postprofiletransfer */ transferFunds(transfer: FundTransfer): Promise; } export {};