import type { ImageService2, ImageService3, Service } from '@iiif/presentation-3';
import type { Bounds, CozyImageResource, GetRegionURLOpts } from '../types';
type ImageService = ImageService2 | ImageService3;
export declare const normalizeServiceUrl: (url: string) => string;
export declare const isImageService: (data: any) => data is ImageService;
export declare const parseImageService: (service: Service) => {
    majorVersion: number;
    profileLevel: number;
} | undefined;
export declare const getStaticImagePixelSize: (url: string) => () => Promise<{
    width: number;
    height: number;
}>;
export declare const getImageURLFromService: (service: Service, width: number, height: number, rotation?: number) => string;
export declare const getRegionURLFromService: (service: Service, bounds: Bounds, rotation?: number, // 0, 90, 180, 270
opts?: GetRegionURLOpts) => string | undefined;
export declare const getRegionURL: (image: CozyImageResource) => (bounds: Bounds, rotation?: number, opts?: GetRegionURLOpts) => string | undefined;
export declare const getImageURL: (width: number | undefined, height: number | undefined, service: Service) => (minSize?: number, rotation?: number) => string | undefined;
export declare const getPixelSizeFromServiceUrl: (serviceUrl: string) => () => Promise<{
    width: number;
    height: number;
} | undefined>;
export {};
