import type { ImageCdn, OperationFormatter, OperationParser, Operations, ProviderConfig, URLExtractor, URLGenerator, URLTransformer } from "./types.js"; export declare function roundIfNumeric(value: T): T extends undefined ? undefined : T extends number ? number : T extends string ? string | number : never; /** * Given a URL object, returns path and query params */ export declare const toRelativeUrl: (url: URL) => string; /** * Returns a URL string that may be relative or absolute */ export declare const toCanonicalUrlString: (url: URL) => string; /** * Normalises a URL object or string URL to a URL object. */ export declare const toUrl: (url: string | URL, base?: string | URL | undefined) => URL; /** * Escapes a string, even if it's URL-safe */ export declare const escapeChar: (text: string) => string; export declare const stripLeadingSlash: (str?: string) => string | undefined; export declare const stripTrailingSlash: (str?: string) => string | undefined; export declare const addLeadingSlash: (str?: string) => string; export declare const addTrailingSlash: (str?: string) => string; /** * Creates a formatter given an operation joiner and key/value joiner */ export declare const createFormatter: (kvSeparator: string, paramSeparator: string) => OperationFormatter; /** * Creates a parser given an operation joiner and key/value joiner */ export declare const createParser: (kvSeparator: string, paramSeparator: string) => OperationParser; /** * Clamp width and height, maintaining aspect ratio */ export declare function clampDimensions(operations: Operations, maxWidth?: number, maxHeight?: number): { width: number | undefined; height: number | undefined; }; export declare function extractFromURL(url: string | URL): { operations: T; src: string; }; export declare function normaliseOperations({ keyMap, formatMap, defaults }: Omit, "formatter">, operations: T): T; export declare function denormaliseOperations({ keyMap, formatMap, defaults }: Omit, "formatter">, operations: T): T; export declare function createOperationsGenerator({ kvSeparator, paramSeparator, ...options }?: ProviderConfig): OperationFormatter; export declare function createOperationsParser({ kvSeparator, paramSeparator, defaults: _, ...options }?: ProviderConfig): OperationParser; export declare function createOperationsHandlers(config: ProviderConfig): { operationsGenerator: OperationFormatter; operationsParser: OperationParser; }; export declare function paramToBoolean(value: boolean | string | number): boolean | undefined; export declare function createExtractAndGenerate(extract: URLExtractor, generate: URLGenerator): URLTransformer; //# sourceMappingURL=utils.d.ts.map