/**
 * Teams Selectors
 *
 * Selectors for team management:
 * - Team switcher
 * - Team creation
 * - Team members
 * - Invitations
 */
export declare const TEAMS_SELECTORS: {
    readonly switcher: {
        readonly compact: "team-switcher-compact";
        readonly full: "team-switcher";
        readonly dropdown: "team-switcher-dropdown";
        readonly option: "team-option-{slug}";
        readonly manageLink: "manage-teams-link";
        readonly createButton: "create-team-button";
    };
    readonly switchModal: {
        readonly container: "team-switch-modal";
    };
    readonly create: {
        readonly dialog: "create-team-dialog";
        readonly button: "create-team-button";
        readonly nameInput: "team-name-input";
        readonly slugInput: "team-slug-input";
        readonly descriptionInput: "team-description-input";
        readonly cancel: "cancel-create-team";
        readonly submit: "submit-create-team";
    };
    readonly members: {
        readonly section: "team-members-section";
        readonly row: "member-row-{id}";
        readonly actions: "member-actions-{id}";
        readonly makeRole: "make-{role}-action";
        readonly remove: "remove-member-action";
    };
    readonly invite: {
        readonly button: "invite-member-button";
        readonly buttonDisabled: "invite-member-button-disabled";
        readonly dialog: "invite-member-dialog";
        readonly emailInput: "member-email-input";
        readonly roleSelect: "member-role-select";
        readonly roleOption: "role-option-{role}";
        readonly cancel: "cancel-invite-member";
        readonly submit: "submit-invite-member";
    };
    readonly invitations: {
        readonly row: "invitation-row-{id}";
        readonly cancel: "cancel-invitation-{id}";
    };
    /**
     * Inline editing for team name and description
     *
     * Note on selector structure: The name and description fields have separate
     * selector definitions rather than using a dynamic pattern. This is an intentional
     * design decision because:
     * 1. There are only 2 fields (name and description), making duplication minimal
     * 2. Each field has different input types (Input vs Textarea) with distinct selectors
     * 3. Explicit definitions provide better clarity and type safety
     * 4. The small duplication cost is outweighed by improved readability
     *
     * Decision documented in PR #1 code review (Issue #9).
     */
    readonly edit: {
        readonly name: {
            readonly value: "team-edit-name-value";
            readonly editIcon: "team-edit-name-edit-icon";
            readonly input: "team-edit-name-input";
            readonly saveIcon: "team-edit-name-save-icon";
            readonly cancelIcon: "team-edit-name-cancel-icon";
            readonly error: "team-edit-name-error";
            readonly success: "team-edit-name-success";
        };
        readonly description: {
            readonly value: "team-edit-description-value";
            readonly editIcon: "team-edit-description-edit-icon";
            readonly textarea: "team-edit-description-textarea";
            readonly saveIcon: "team-edit-description-save-icon";
            readonly cancelIcon: "team-edit-description-cancel-icon";
            readonly error: "team-edit-description-error";
            readonly success: "team-edit-description-success";
        };
        readonly success: "team-edit-success";
        readonly error: "team-edit-error";
    };
    readonly acceptInvite: {
        readonly loading: "accept-invite-loading";
        readonly container: "accept-invite-container";
        readonly info: "accept-invite-info";
        readonly teamName: "accept-invite-team-name";
        readonly requiresAuth: "accept-invite-requires-auth";
        readonly inviter: "accept-invite-inviter";
        readonly role: "accept-invite-role";
        readonly signin: "accept-invite-signin";
        readonly signup: "accept-invite-signup";
        readonly valid: "accept-invite-valid";
        readonly accept: "accept-invite-accept";
        readonly accepting: "accept-invite-accepting";
        readonly success: "accept-invite-success";
        readonly alreadyMember: "accept-invite-already-member";
        readonly emailMismatch: "accept-invite-email-mismatch";
        readonly notFound: "accept-invite-not-found";
        readonly expired: "accept-invite-expired";
        readonly error: "accept-invite-error";
    };
};
export type TeamsSelectorsType = typeof TEAMS_SELECTORS;
//# sourceMappingURL=teams.selectors.d.ts.map