import type { IHttpRequest } from '@api-client/core/models/HttpRequest.js';
import type { Payload } from '@api-client/core/lib/transformers/PayloadSerializer.js';
import { Headers } from '@api-client/core/lib/headers/Headers.js';
export declare interface CodeHeader {
    name: string;
    value: string;
}
export declare interface UrlDetails {
    path: string;
    port: string;
    hostValue: string;
    autoPort?: boolean;
}
/**
 * The base class for all HTTP code snippets.
 */
export default abstract class CodeSnippet {
    /**
     * The syntax highlighting language to use after computing the command.
     */
    abstract get lang(): string;
    /**
     * The function that computes command from the given request values.
     */
    abstract computeCommand(url: string, method: string, headers?: Headers, payload?: Payload): string;
    /**
     * Processes the current snippet command.
     */
    tokenize(request: IHttpRequest): string;
    /**
     * Reads the host, port and path from the url.
     * This function uses URI library to parse the URL so you have to
     * include this library from bower_components if the element want to use it.
     */
    urlDetails(value: string): UrlDetails;
}
//# sourceMappingURL=CodeSnippet.d.ts.map