import { GuidValue } from "@omnia/fx-models/internal-do-not-import-from-here/shared/models/Guid"; import { LinkType, LinkTypeConfig } from "./linktype"; /** * Provider interface ILinkHandlerProvider * @interface * @description This class used as an abstract prototype to create new provider with handler function to handle link redirection */ export interface ILinkHandlerProvider { /** * Provider's name */ name: string; /** * Provider's GUID */ id: GuidValue; /** * Provider's weight * @description The number determines which order will be placed and called first among other providers */ weight: number; /** * Handler function * @description The implementations of link handler, how the redirection will be executed based on the passing parameters * return url of navigated destination or undefined if not able to handle input link */ handler: (url: string, linkType: LinkType, config?: LinkTypeConfig) => string; }