import { default as CaptureElement } from '../capture-element';
export declare class ViewTransitionImagePair extends HTMLElement {
    constructor();
    name: string;
    captureElement: CaptureElement;
    oldImage: ViewTransitionOld | undefined;
    newImage: ViewTransitionNew | undefined;
    setupForOldImage(name: string, captureElement: CaptureElement): ViewTransitionOld | undefined;
    setupForNewImage(name: string, captureElement: CaptureElement): ViewTransitionNew | undefined;
    addNewImage(): ViewTransitionNew | undefined;
}
declare class ViewTransitionImage extends HTMLElement {
    constructor();
    protected innerElement: HTMLDivElement;
    name: string;
    captureElement: CaptureElement;
    protected image: Element | undefined;
    protected element: Element | undefined;
    setup(name: string, captureElement: CaptureElement): void;
    connectedCallback(): void;
    getScaleFactor(objectFit: string, fromWidth: number, toWidth: number, fromHeight: number, toHeight: number): [number, number, string];
    getObjectPositionValues(objectPosition: string, oldWidth: number, newWidth: number, oldHeight: number, newHeight: number): {
        old: {
            top: string;
            left: string;
        };
        new: {
            top: string;
            left: string;
        };
    };
    animateImage(animationDuration: number, CSSeasing: string, fromTransform: string, toTransform: string): void;
}
export declare class ViewTransitionOld extends ViewTransitionImage {
    setup(name: string, captureElement: CaptureElement): void;
    getAnimateImageFunctions(): string[];
    getScaleFactor(objectFit: string): [number, number, string];
    getObjectPositionValues(objectPosition: string, scaleFactorX: number, scaleFactorY: number): {
        old: {
            top: string;
            left: string;
        };
        new: {
            top: string;
            left: string;
        };
    };
    animateImage(animationDuration: number, CSSeasing: string): void;
}
export declare class ViewTransitionNew extends ViewTransitionImage {
    setup(name: string, captureElement: CaptureElement): void;
    getAnimateImageFunctions(): string[];
    getScaleFactor(objectFit: string): [number, number, string];
    getObjectPositionValues(objectPosition: string, scaleFactorX: number, scaleFactorY: number): {
        old: {
            top: string;
            left: string;
        };
        new: {
            top: string;
            left: string;
        };
    };
    animateImage(animationDuration: number, CSSeasing: string): void;
}
export {};
