import { AddressInfo } from '../types';
import { AddressReceipt } from './AddressReceipt';
import { MultiHost, Scheme } from './Host';
import { ServiceInterfaceBuilder } from './ServiceInterfaceBuilder';
export declare class Origin {
    readonly host: MultiHost;
    readonly internalPort: number;
    readonly scheme: string | null;
    readonly sslScheme: string | null;
    constructor(host: MultiHost, internalPort: number, scheme: string | null, sslScheme: string | null);
    build({ username, path, query: search, schemeOverride, }: BuildOptions): AddressInfo;
    /**
     * @description A function to register a group of origins (<PROTOCOL> :// <HOSTNAME> : <PORT>) with StartOS
     *
     *   The returned addressReceipt serves as proof that the addresses were registered
     *
     * @param addressInfo
     * @returns
     */
    export(serviceInterfaces: ServiceInterfaceBuilder[]): Promise<AddressInfo[] & AddressReceipt>;
}
type BuildOptions = {
    schemeOverride: {
        ssl: Scheme;
        noSsl: Scheme;
    } | null;
    username: string | null;
    path: string;
    query: Record<string, string>;
};
export {};
