import { ButtonUniDriver, ImageViewerUniDriver, InputUniDriver, SegmentedToggleUniDriver, ToggleSwitchUniDriver } from '@wix/design-system/dist/testkit/unidriver.js';
import { RicosPluginToolbarNames } from '../ricos-types/index.js';
import type { GetOptions, Testkit, UniDriver } from '../ricos-types/testkit.js';
import { toolbarsToAddIn } from './get-add-buttons.js';
export type AudioTestkit = Testkit<{
    content: {
        atIndex: (index: number) => {
            uploadedAudio: {
                exists: (options?: GetOptions) => Promise<boolean>;
                click: () => Promise<void>;
                getSrc: () => Promise<string | null>;
                getTitle: () => Promise<string>;
                getCreator: () => Promise<string>;
                imageExists: () => Promise<boolean>;
                contextMenu: {
                    toggle: () => Promise<void>;
                    items: {
                        clickAt: (index: number) => Promise<void>;
                    };
                };
                playbackSpeedMenuExists: () => Promise<boolean>;
                getNativeElement: () => Promise<Element>;
            };
            htmlElement: {
                waitForElement: () => Promise<void>;
                exists: (options?: GetOptions) => Promise<boolean>;
            };
        };
    };
    settings: {
        exists: () => Promise<boolean>;
        waitForElement: () => Promise<void>;
        titleInput: ReturnType<typeof InputUniDriver>;
        creatorInput: ReturnType<typeof InputUniDriver>;
        coverImage: ReturnType<typeof ImageViewerUniDriver>;
        disableDownloadToggle: ReturnType<typeof ToggleSwitchUniDriver>;
    };
    insertModal: {
        waitForElement: () => Promise<void>;
        sourceSegmentedToggle: ReturnType<typeof SegmentedToggleUniDriver>;
        embedSection: {
            urlInput: ReturnType<typeof InputUniDriver>;
            submitButton: ReturnType<typeof ButtonUniDriver>;
        };
        uploadSection: {
            uploadButton: ReturnType<typeof ButtonUniDriver>;
        };
    };
    toolbars: {
        createAddButtonToolbars: (getAddButtonToolbarBase: () => UniDriver<Element>) => {
            clickSoundcloud: () => Promise<void>;
            clickSpotify: () => Promise<void>;
            clickAudio: () => Promise<void>;
            toolbarsToAddIn: typeof toolbarsToAddIn;
        };
        createPluginToolbar: (getPluginToolbarBase: (pluginType: typeof RicosPluginToolbarNames.AUDIO) => UniDriver<Element>) => {
            clickEdit: () => Promise<void>;
            clickReplace: () => Promise<void>;
            clickDelete: () => Promise<void>;
            exists: () => Promise<boolean>;
        };
    };
}>;
export declare const createAudioTestkit: AudioTestkit;
//# sourceMappingURL=testkit.d.ts.map