import { Functional } from '../../../../../Class/Functional';
import { Done } from '../../../../../Class/Functional/Done';
import { System } from '../../../../../system';
export interface UrlObject {
    protocol: string;
    hostname: string;
    pathname: string;
    search: string;
    hash: string;
    port: string;
    host: string;
    href: string;
    origin: string;
}
export interface I<T> {
    url: string;
}
export interface O<T> {
    obj: UrlObject;
}
export default class ParseUrl<T> extends Functional<I<T>, O<T>> {
    constructor(system: System);
    f({ url }: I<T>, done: Done<O<T>>): Promise<void>;
}
