import { Path } from '../structures/path/index.js'; import type { Mutable, Nullable } from '../types/misc.js'; import type { IEndpointInfo } from './endpoint.js'; export interface IEndpointsPathsConfig { /** Prefix for template args, defaults to `:` */ readonly templateArgPrefix: Path.TemplateTransform; /** Base prefix for path, defaults to `/` */ readonly basePrefix: string; } type PrefixOptions = string | boolean; export declare class EndpointsPathsConfig implements IEndpointsPathsConfig { protected readonly _value: Mutable; /** Creates a new instance of config. Follows the other instance if it's instanceof `EndpointsPathsConfig`. */ constructor(settings?: IEndpointsPathsConfig | EndpointsPathsConfig); get templateArgPrefix(): Path.TemplateTransform; get basePrefix(): string; expose(): IEndpointsPathsConfig; getPath(endpoint: T, pathArgs: IEndpointInfo.ExtractPath, prefix?: PrefixOptions): string; getTemplate(endpoint: T, prefix?: PrefixOptions): string; getFormattedDisplayName(endpoint: IEndpointInfo): string; getEndpointsEqual(a: Nullable, b: Nullable): boolean; private getPrefix; protected updateValues(settings: Partial): void; } export declare class EndpointsPathsConfigMutable extends EndpointsPathsConfig { update(settings: Partial): this; } /** @deprecated Be careful with using this shared instance. Don't be lazy and create your own! */ export declare const DefaultSettings: EndpointsPathsConfig; export {};