interface InviteMemberButtonProps {
    /**
     * Current team ID (to check member count)
     */
    teamId?: string;
    /**
     * Current member count (if already available)
     * If provided, skips fetching member count
     */
    memberCount?: number;
    /**
     * Callback fired when button is clicked (if allowed)
     * Opens the InviteMemberDialog
     */
    onClick?: () => void;
    /**
     * Custom button text
     */
    children?: React.ReactNode;
    /**
     * Button variant
     */
    variant?: 'default' | 'outline' | 'ghost' | 'link' | 'destructive' | 'secondary';
    /**
     * Button size
     */
    size?: 'default' | 'sm' | 'lg' | 'icon';
    /**
     * Additional CSS classes
     */
    className?: string;
    /**
     * Show icon
     */
    showIcon?: boolean;
}
/**
 * InviteMemberButton - Conditional button for inviting team members
 *
 * Features:
 * - Respects Teams Mode configuration (canInvite)
 * - Validates maxMembersPerTeam limit
 * - Returns null if mode doesn't allow invitations
 * - Shows disabled state with tooltip if at limit
 *
 * Usage:
 * ```tsx
 * <InviteMemberButton
 *   memberCount={members.length}
 *   onClick={() => setDialogOpen(true)}
 * >
 *   Invite Member
 * </InviteMemberButton>
 * ```
 */
export declare function InviteMemberButton({ memberCount, onClick, children, variant, size, className, showIcon, }: InviteMemberButtonProps): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=InviteMemberButton.d.ts.map