import { IGuidImmutable, IGuidMutable } from "@ef-carbon/primitive"; import IConditionalMutable, { IImmutable as IConditionalImmutable } from "./link/IConditional"; import IDirectMutable, { IImmutable as IDirectImmutable } from "./link/IDirect"; import IRandomMutable, { IImmutable as IRandomImmutable } from "./link/IRandom"; import IRemoteMutable, { IImmutable as IRemoteImmutable } from "./link/IRemote"; import Type from "./link/Type"; export interface ILinkBaseImmutable { readonly type: T; readonly redirect?: string | IGuidImmutable; } export interface ILinkBaseMutable extends ILinkBaseImmutable { redirect?: string | IGuidMutable; } export declare type ILinkMutable = IDirectMutable | IConditionalMutable | IRandomMutable | IRemoteMutable; export declare type ILinkImmutable = IDirectImmutable | IConditionalImmutable | IRandomImmutable | IRemoteImmutable; export { ILinkBaseImmutable as IBaseImmutable, ILinkBaseMutable as IBaseMutable, ILinkImmutable as IImmutable, ILinkMutable as IMutable, }; export default ILinkMutable;