import type { TestkitShape, UniDriver } from '../../../ricos-types/testkit.js';
import type { AllPluginsTestkits } from '../../../_shared/get-all-plugin-testkits';
import type { TOOLBARS } from '../../../editor-common/index.js';
export type ToolbarTestkit = {
    exists: () => Promise<boolean>;
    waitForElement: () => Promise<UniDriver>;
    getButtonsAmount: () => Promise<number>;
    scrollToElementByIndex: (index: number) => Promise<void>;
};
export type ToolbarCreationFunctionKeys = keyof NonNullable<TestkitShape['toolbars']>;
type AllPluginsWithToolbarsAddButtons = {
    [key in keyof AllPluginsTestkits as AllPluginsTestkits[key] extends {
        toolbars: {
            createAddButtonToolbars: any;
        };
    } ? key : never]: AllPluginsTestkits[key] extends {
        toolbars: {
            createAddButtonToolbars: any;
        };
    } ? ReturnType<AllPluginsTestkits[key]['toolbars']['createAddButtonToolbars']> : never;
};
export type AddButtonToolbarPluginActions<Toolbar extends TOOLBARS> = {
    [key in keyof AllPluginsWithToolbarsAddButtons]: Toolbar[] extends AllPluginsWithToolbarsAddButtons[key]['toolbarsToAddIn'] ? Omit<AllPluginsWithToolbarsAddButtons[key], 'toolbarsToAddIn'> : never;
};
export {};
//# sourceMappingURL=toolbar-testkit-types.d.ts.map