import { GuidAccepted, IUrlImmutable, IUrlMutable, UrlAccepted } from "@ef-carbon/primitive"; import { IBaseImmutable as ILinkImmutable, IBaseMutable as ILinkMutable } from "../ILink"; import Omit from "../Omit"; import Type from "./Type"; export interface ILinkRemoteImmutable extends ILinkImmutable { readonly type: Type.Remote; readonly url: string | IUrlImmutable; readonly method?: string; readonly headers?: { [header: string]: string; }; readonly body?: string; } export interface ILinkRemoteMutable extends Omit, ILinkMutable { url: string | IUrlMutable; method?: string; headers?: { [header: string]: string; }; body?: string; } export interface ILinkRemoteOptions { readonly url: UrlAccepted; readonly method?: string; readonly headers?: { [header: string]: string; } | Iterable<[string, string]>; readonly body?: string; readonly redirect?: GuidAccepted; } export interface ILinkRemoteStatic { new (init: ILinkRemoteOptions): ILinkRemoteMutable; } export { ILinkRemoteStatic as IStatic, ILinkRemoteOptions as IOptions, ILinkRemoteMutable as IMutable, ILinkRemoteImmutable as IImmutable, }; export default ILinkRemoteMutable;