import { Page, Locator } from '@playwright/test';
import { LoginPage } from './LoginPage';
import { AppsPage } from './AppsPage';
declare class ModelerHomePage {
    private defaultFolderName;
    private page;
    readonly modelerPageBanner: Locator;
    readonly createNewProjectButton: Locator;
    readonly projectNameInput: Locator;
    readonly formNameInput: Locator;
    readonly chooseBpmnTemplateButton: Locator;
    readonly diagramTypeDropdown: Locator;
    readonly bpmnTemplateOption: Locator;
    readonly formTemplateOption: Locator;
    readonly idpTemplateOption: Locator;
    readonly idpApplicationNameInput: Locator;
    readonly createIdpApplicationButton: Locator;
    readonly projectBreadcrumb: Locator;
    readonly openOrganizationsButton: Locator;
    readonly optionsButton: Locator;
    readonly manageButton: Locator;
    readonly crossComponentProjectFolder: Locator;
    readonly homeBreadcrumb: Locator;
    readonly rows: Locator;
    readonly uploadFilesButton: Locator;
    readonly dialog: Locator;
    readonly messageBanner: Locator;
    readonly closeButton: Locator;
    readonly formNameBreadcrumb: (formName: string) => Locator;
    constructor(page: Page);
    dismissOverlays(): Promise<void>;
    clickCreateNewProjectButton(): Promise<void>;
    enterNewProjectName(name: string): Promise<void>;
    enterIdpApplicationName(name: string): Promise<void>;
    selectCluster(clusterName: string): Promise<void>;
    createForm(formName: string): Promise<void>;
    clickCreateIdpApplicationButton(): Promise<void>;
    clickChooseBpmnTemplateButton(): Promise<void>;
    reload(): Promise<void>;
    getProjectNames(name: string): Promise<string[]>;
    clickProcessDiagram(name: string): Promise<void>;
    clickDiagramTypeDropdown(): Promise<void>;
    clickBpmnTemplateOption(): Promise<void>;
    clickIdpApplicationTemplateOption(): Promise<void>;
    clickFormOption(): Promise<void>;
    enterFormName(name: string): Promise<void>;
    clickProjectBreadcrumb(): Promise<void>;
    clickHomeBreadcrumb(): Promise<void>;
    clickOpenOrganizationsButton(): Promise<void>;
    clickCrossComponentProjectFolder(): Promise<void>;
    createCrossComponentProjectFolder(): Promise<void>;
    clickManageButton(retries?: number): Promise<void>;
    clickUploadFilesButton(): Promise<void>;
    clickMessageBanner(): Promise<void>;
    assertFormBreadcrumbVisible(formName: string): Promise<void>;
    /**
     * Handles navigation after clicking an invitation link in email.
     * The invitation link may auto-authenticate the second user and land them in
     * the correct org's Modeler. If the Modeler banner is visible, navigate to
     * the Modeler home within the same org context — clearing cookies and
     * re-logging in via the app switcher lands in the user's personal org where
     * the shared project is not listed.
     * If auto-authentication did not occur (page ended up on Auth0), falls back
     * to the explicit login path.
     */
    navigateAfterInvitationLink(loginPage: LoginPage, appsPage: AppsPage, credentials: {
        username: string;
        password: string;
    }): Promise<void>;
}
export { ModelerHomePage };
