import type { ShortUrl, ShortUrlData } from '../short-urls/data'; import type { ShlinkDomainRedirects, ShlinkDomainsResponse, ShlinkEditDomainRedirects, ShlinkHealth, ShlinkMercureInfo, ShlinkShortUrlData, ShlinkShortUrlsListParams, ShlinkShortUrlsResponse, ShlinkTags, ShlinkVisits, ShlinkVisitsOverview, ShlinkVisitsParams, } from './types'; export type ShlinkApiClient = { readonly baseUrl: string; readonly apiKey: string; listShortUrls(params?: ShlinkShortUrlsListParams): Promise; createShortUrl(options: ShortUrlData): Promise; getShortUrlVisits(shortCode: string, query?: ShlinkVisitsParams): Promise; getTagVisits(tag: string, query?: Omit): Promise; getDomainVisits(domain: string, query?: Omit): Promise; getOrphanVisits(query?: Omit): Promise; getNonOrphanVisits(query?: Omit): Promise; getVisitsOverview(): Promise; getShortUrl(shortCode: string, domain?: string | null): Promise; deleteShortUrl(shortCode: string, domain?: string | null): Promise; updateShortUrl( shortCode: string, domain: string | null | undefined, body: ShlinkShortUrlData, ): Promise; listTags(): Promise; tagsStats(): Promise; deleteTags(tags: string[]): Promise<{ tags: string[] }>; editTag(oldName: string, newName: string): Promise<{ oldName: string; newName: string }>; health(authority?: string): Promise; mercureInfo(): Promise; listDomains(): Promise; editDomainRedirects(domainRedirects: ShlinkEditDomainRedirects): Promise; };