interface AdditionalQueryParams { [key: string]: string; } interface Metadata { [key: string]: string; } export interface TrackingLinkData { id?: number; slug?: string; status: string; destinationUrl?: string; forwardAllQueryParams?: boolean; description?: string; metadata?: Metadata; additionalQueryParams?: AdditionalQueryParams; } export interface TrackingLink { id?: number; slug?: string; status?: string; destinationUrl?: string; forwardAllQueryParams?: boolean; createdAt?: Date; activatedAt?: Date; description?: string; metadata?: Metadata; additionalQueryParams?: AdditionalQueryParams; creatorName?: string; channel?: string; subchannel?: string; goal?: string; audience?: string; placement?: string; campaign?: string; subcampaign?: string; source?: string; content?: string; medium?: string; couponCode?: string; planId?: string; upgradeSrc?: string; cx?: string; forwardQueryParamsWhitelist?: string[]; } export type TrackingLinkView = string; // "index" | "show" | "new";