import { GuidAccepted, IGuidImmutable, IGuidMutable } from "@ef-carbon/primitive"; import { IBaseImmutable as ILinkImmutable, IBaseMutable as ILinkMutable } from "../ILink"; import Omit from "../Omit"; import Type from "./Type"; export interface ILinkDirectImmutable extends ILinkImmutable { readonly type: Type.Direct; readonly id: string | IGuidImmutable; } export interface ILinkDirectMutable extends Omit, ILinkMutable { id: string | IGuidMutable; } export interface ILinkDirectOptions { readonly id: GuidAccepted; readonly redirect?: GuidAccepted; } export interface ILinkDirectStatic { new (init: ILinkDirectOptions): ILinkDirectMutable; } export { ILinkDirectStatic as IStatic, ILinkDirectOptions as IOptions, ILinkDirectMutable as IMutable, ILinkDirectImmutable as IImmutable, }; export default ILinkDirectMutable;