type OneOrMore = T | [T, ...T[]]; export interface InfuseCallbacks { /** * Callback URL invoked by Infuse after the action succeeds. */ xSuccess?: string; /** * Callback URL invoked by Infuse after the action fails. */ xError?: string; } export interface InfuseMediaPayload extends InfuseCallbacks { /** * One or more video URLs to send to Infuse. */ url: OneOrMore; /** * Optional filename parameter value or values. */ filename?: OneOrMore; /** * Optional subtitle URL parameter value or values. */ sub?: OneOrMore; } type InfuseXCallbackAction = 'play' | 'save'; type InfuseLibraryKind = 'movie' | 'series'; interface InfuseMediaOptions { download?: 0 | 1; } export declare function infuseXCallbackUrl(action: InfuseXCallbackAction, payload: InfuseMediaPayload, options?: InfuseMediaOptions): string; export declare function infuseLibraryUrl(kind: InfuseLibraryKind, segments: number[]): string; export {};