export interface Resource extends ResourceIdentifier, Links { attributes: U; relationships: V; } export interface ResourceIdentifier { type: T; id: string; } export interface Links { links?: T; } export type Self = { self: string }; export type Related = { related: string }; export interface Money { currencyCode: string; value: string; valueInBaseUnits: number; } export interface PaginationLinks { prev: string | null; next: string | null; } export interface RelatedResourceData { type: T; id: string; } export interface PaginatedResponse { data: Array; links: PaginationLinks; } export interface Response { data: T; } export interface RelatedResource extends Links { data: RelatedResourceData; } export interface NullableRelatedResource extends Links { data: RelatedResourceData | null; } export interface RelatedResources extends Links { data: Array>; } export enum ResourceType { ACCOUNTS = 'accounts', CATEGORIES = 'categories', TAGS = 'tags', TRANSACTIONS = 'transactions', WEBHOOK = 'webhook', WEBHOOK_EVENTS = 'webhook-events', WEBHOOK_DELIVERY_LOGS = 'webhook-delivery-logs', } export enum Endpoint { ACCOUNTS = 'accounts', CATEGORIES = 'categories', TAGS = 'tags', TRANSACTIONS = 'transactions', UTIL = 'util', WEBHOOKS = 'webhooks', } export interface Params { size?: number; }