import { TemplateResult, LitElement } from 'lit';
import type { IOrganization } from '@api-client/core/models/store/Organization.js';
/**
 * An App screen (HTML Element) allowing the user to select an organization.
 * Primary use-case is during the initial setup when no organization is selected yet.
 *
 * Note, this element does not handle the actual API logic, it only provides the UI and dispatches events.
 */
export default class OrganizationSelectionScreen extends LitElement {
    /**
     * The list of organizations to select from.
     *
     * This property consumes the `organizationsContext`.
     */
    accessor organizations: IOrganization[] | undefined;
    /**
     * Indicates whether the screen is in the loading state.
     * @attribute
     */
    accessor loading: boolean;
    /**
     * The currently selected organization key, if any. Can be used to pre-select an organization in the list.
     * When the user makes a selection, an `organization-selected` event is dispatched and this property is updated.
     * @attribute
     */
    accessor selected: string | undefined;
    /**
     * Handles the organization selection form submission.
     * @param e The submit event
     */
    protected handleOrgSelection(e: SubmitEvent): Promise<void>;
    /**
     * Selects the organization and persists the state.
     * @param organization The organization key to select
     */
    protected selectOrganization(organization: string): void;
    render(): TemplateResult;
    protected renderForm(): TemplateResult;
    protected renderLoader(): TemplateResult;
}
//# sourceMappingURL=OrganizationSelectionScreen.d.ts.map