import { Merge } from 'type-fest'; import { CodeBuilderOptions } from '../helpers/code-builder'; import { Request } from '../httpsnippet'; export declare type TargetId = keyof typeof targets; export declare type ClientId = string; export interface ClientInfo { key: ClientId; title: string; link: string; description: string; } export declare type Converter> = (request: Request, options?: Merge) => string; export interface Client = Record> { info: ClientInfo; convert: Converter; } export declare type Extension = `.${string}` | null; export interface TargetInfo { key: TargetId; title: string; extname: Extension; default: string; } export interface Target { info: TargetInfo; clientsById: Record; } export declare const targets: { c: Target; clojure: Target; crystal: Target; csharp: Target; go: Target; http: Target; java: Target; javascript: Target; kotlin: Target; node: Target; objc: Target; ocaml: Target; php: Target; powershell: Target; python: Target; r: Target; ruby: Target; rust: Target; shell: Target; swift: Target; }; export declare const isTarget: (target: Target) => target is Target; export declare const addTarget: (target: Target) => void; export declare const isClient: (client: Client) => client is Client>; export declare const addTargetClient: (targetId: TargetId, client: Client) => void; //# sourceMappingURL=targets.d.ts.map