import { EndPoint, HasContext } from './EndPoint.js';
import { ApiEndPoint } from './ApiEndPoint.js';
import { Who } from '../server/index.js';
import { AccountOwnedId } from '../lib/index.js';
import { SubdomainClone } from '../server/SubdomainClone.js';
import { Request, Response } from 'restify';
export type SubdomainRequest = Request & HasContext<'id', AccountOwnedId> & HasContext<'who', Who>;
export declare class SubdomainEndPoint extends EndPoint<ApiEndPoint> {
    constructor(outer: ApiEndPoint);
    get gateway(): import("../server/Gateway.js").Gateway;
    bindSubdomainId(req: SubdomainRequest): void;
    bindAuthorisedWho(req: SubdomainRequest): Promise<void>;
    putSubdomain(req: SubdomainRequest, res: Response): Promise<void>;
    pollUpdates(req: SubdomainRequest, res: Response): Promise<void>;
    lockUrl(req: SubdomainRequest): string;
    etag(sd: SubdomainClone): string;
}
