import { z } from 'zod';
import { EmbeddedImage, Image } from './image.js';
import { CanvasSchema } from '../schemas/iiif.js';
import type { LanguageString, Metadata } from '../lib/types.js';
type CanvasType = z.infer<typeof CanvasSchema>;
declare const CanvasTypeString = "canvas";
/**
 * Parsed IIIF Canvas
 * @class Canvas
 * @property {string} [uri] - URI of Canvas
 * @property {LanguageString} [label] - Label of Manifest
 * @property {Metadata} [metadata] - Metadata of Manifest
 * @property {EmbeddedImage | Image} [image] - Image of painted on Canvas
 * @property {number} [height] - Height of Canvas
 * @property {number} [width] - Width of Canvas
 * @property {string} [type] - Resource type, equals 'canvas'
 */
export declare class Canvas {
    uri: string;
    type: typeof CanvasTypeString;
    height: number;
    width: number;
    image: EmbeddedImage | Image;
    label?: LanguageString;
    metadata?: Metadata;
    constructor(parsedCanvas: CanvasType);
}
export {};
