import { FillPreviewUniDriver, ImageUniDriver, InputUniDriver, TabsUniDriver, ToggleSwitchUniDriver } from '@wix/design-system/dist/testkit/unidriver.js';
import { type FigureTestkit } from '../plugin-figure/testkit.js';
import { RicosPluginToolbarNames } from '../ricos-types/index.js';
import type { GetOptions, Testkit, UniDriver } from '../ricos-types/testkit.js';
import { createNewColorPickerUniDriver } from '../ui-components/testkit.js';
import { imageAddToolbars } from './get-add-buttons.js';
export type ImageTestkit = Testkit<{
    content: {
        atIndex: (index: number) => FigureTestkit & {
            exists: (options?: GetOptions) => Promise<boolean>;
            click: () => Promise<void>;
            hover: () => Promise<void>;
            getText: () => Promise<string>;
            getAlt: () => Promise<string>;
            hasSpoiler: () => Promise<boolean>;
            getStyle: () => Promise<string | null>;
            clickExpand: () => Promise<void>;
            expandExists: () => Promise<boolean>;
            isLoading: () => Promise<boolean>;
            getSrc: () => Promise<string>;
            getNativeElement: () => Promise<Element>;
        };
        fullscreen: {
            exists: () => Promise<boolean>;
        };
    };
    tabs: ReturnType<typeof TabsUniDriver> & {
        waitForElement: () => Promise<void>;
    };
    settings: {
        image: ReturnType<typeof ImageUniDriver>;
        isDecorativeToggle: ReturnType<typeof ToggleSwitchUniDriver>;
        disableExpandToggle: ReturnType<typeof ToggleSwitchUniDriver>;
        disableDownloadToggle: ReturnType<typeof ToggleSwitchUniDriver>;
        spoilerToggle: ReturnType<typeof ToggleSwitchUniDriver>;
        altTextInput: ReturnType<typeof InputUniDriver> & {
            waitForElement: () => Promise<void>;
        };
    };
    design: {
        cornerRadiusInput: ReturnType<typeof InputUniDriver> & {
            waitForElement: () => Promise<void>;
        };
        borderWidthInput: ReturnType<typeof InputUniDriver> & {
            waitForElement: () => Promise<void>;
        };
        borderColorPicker: ReturnType<typeof FillPreviewUniDriver> & {
            getColor: () => Promise<string>;
        };
        colorPickerModal: ReturnType<typeof createNewColorPickerUniDriver>;
    };
    toolbars: {
        createAddButtonToolbars: (getAddButtonBase: () => UniDriver<Element>) => {
            click: () => Promise<void>;
            toolbarsToAddIn: typeof imageAddToolbars;
        };
        createPluginToolbar: (getPluginToolbarBase: (pluginType: typeof RicosPluginToolbarNames.IMAGE) => UniDriver<Element>) => {
            settings: {
                click: () => Promise<void>;
                getElement: () => Promise<UniDriver<Element>>;
            };
            delete: {
                click: () => Promise<void>;
                getElement: () => Promise<UniDriver<Element>>;
            };
            openLinkPanel: () => Promise<void>;
            sizeDropdown: {
                click: () => Promise<void>;
                getElement: () => Promise<UniDriver<Element>>;
            };
            imageSize: {
                clickSmall: () => Promise<void>;
            };
            exists: () => Promise<boolean>;
            setAsHeaderButtonExists: () => Promise<boolean>;
            clickSetAsHeader: () => Promise<void>;
            setAsFooterButtonExists: () => Promise<boolean>;
            clickSetAsFooter: () => Promise<void>;
        };
    };
}>;
export declare const createImageTestkit: ImageTestkit;
//# sourceMappingURL=testkit.d.ts.map